comment mesurer le temps de réponse pour le chargement et le temps de recherche pour un site web ? le sélénium
J'ai besoin de mesurer le temps de réponse d'un site web, en utilisant le Sélénium et le Séléniure.
- Temps de réponse d'un site web:
Je veux dire le temps de chargement, je vois qu'il y a la méthode pour prendre de la différence entre le temps d'avant et d'après le site web ouvert.
Mais de cette façon, permettra de mesurer la client le temps de chargement, ça va dépendre du client? Quel est le meilleur moyen pour le faire?
-
long startTime = System.currentTimeMillis(); driver.get("http://zyxware.com"); new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.id("Calculate"))); long endTime = System.currentTimeMillis(); long totalTime = endTime - startTime; System.out.println("Total Page Load Time: " + totalTime + "milliseconds");
ou cela?
driver.get("url");
WebElement ele = $(By.tagName("body"));
//get the page load time
Long loadtime = (Long)((JavascriptExecutor)driver).executeScript(
"return performance.timing.loadEventEnd - performance.timing.navigationStart;");
System.out.println(loadtime);
et dernière suivantes:
StopWatch pageLoad = new StopWatch();
pageLoad.start();
//Open your web app (In my case, I opened facebook)
driver.get("url");
//Wait for the required any element (I am waiting for Login button in fb)
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfElementLocated(By.tagName("body")));
pageLoad.stop();
//Get the time
long pageLoadTime_ms = pageLoad.getTime();
long pageLoadTime_Seconds = pageLoadTime_ms /1000;
System.out.println("Total Page Load Time: " + pageLoadTime_ms + " milliseconds");
- Si j'ai un bouton de recherche pour le même site, si j'ai besoin de mesurer le temps de recherche, comment faire? Est-il le même que ci-dessus?
Double Possible de Comment pouvons-nous obtenir l'heure exacte à charger une page en utilisant Selenium WebDriver?
s'il vous plaît, voir monté en question. J'ai trois façons qui est le meilleur?
J'ai vérifié le chronomètre docs et vu que se n'est pas thread-safe (commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/...) Sélénium tests peuvent prendre du temps et de les exécuter en parallèle est une grande chose. Donc je vous recommande de ne pas utiliser si vous avez des plans pour l'exécution de plusieurs tests à la fois. Je ne peux pas vous aider avec les 2 autres. Je n'ai aucune idée si le Javascript ou la version de Java est mieux.
s'il vous plaît, voir monté en question. J'ai trois façons qui est le meilleur?
J'ai vérifié le chronomètre docs et vu que se n'est pas thread-safe (commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/...) Sélénium tests peuvent prendre du temps et de les exécuter en parallèle est une grande chose. Donc je vous recommande de ne pas utiliser si vous avez des plans pour l'exécution de plusieurs tests à la fois. Je ne peux pas vous aider avec les 2 autres. Je n'ai aucune idée si le Javascript ou la version de Java est mieux.
OriginalL'auteur Hana90 | 2016-05-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir le calendrier de performance liés à l'information pour une page donnée avec la
performance.timing
API:La doc :
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceTiming
s'il vous plaît, voir monté en question. J'ai trois façons qui est le meilleur?
OriginalL'auteur Florent B.
les gars, vous pouvez utiliser le sélénium web de pilote pour recueillir les données de synchronisation sur votre page web viens de le faire :
La accepté de répondre et d'autres déjà recommandé précisément à cause de cela plus d'un an. Quelle est votre réponse ajouter que ce n'était pas déjà couvert?
OriginalL'auteur Manouchehr Rasouli
Sélénium ne fournit pas une meilleure façon de le faire. La façon dont vous utilisez, c'est la meilleure manière possible pour autant que je sais.
Pour la méthode de recherche que vous pouvez utiliser de la même manière que vous avez utilisé pour le chargement de la page. Sauf que vous feriez certaines actions différentes entre le début et la fin du temps.
Aussi jeter un oeil à cette question puisque je pense que ça répond à votre question.
Comment pouvons-nous obtenir l'heure exacte à charger une page en utilisant Selenium WebDriver?
OriginalL'auteur RemcoW
Il y a 2 parties à votre question.
La démarche pour chacun de ces cas pourraient varier un peu.
Dans le premier cas. vous pouvez utiliser la deuxième et la troisième approche spécifié (l'un avec le javascript et java). Toutefois, comme l'a mentionné à juste titre, il varie d'un client à client. Comme le chargement de la page est complètement dépendante du navigateur moteur de rendu, chaque navigateur donnerait une valeur différente.
En outre, si dans le cas du temps de chargement prend plus de 10 secondes, vous pourriez ne pas être en mesure d'identifier la valeur absolue comme vous l'avez spécifié un délai d'attente de 10 WebDriverWait méthode.
La première approche pourrait ne pas fournir ce dont vous avez besoin pendant que vous attendez pour un composant spécifique à l'intérieur de la page. Cela pourrait ne pas être la bonne façon que les navigateurs modernes rendre progressivement et de ne pas attendre pour la totalité de la réponse arrive avant de commencer à charger la page.
Dans le second cas, vous pouvez ajuster la même approche un peu lil et obtenir le temps de charge de la fonctionnalité de recherche à partir d'un E2E point de vue (y compris les variations considérées comme dans le premier cas).
Si dans le cas où vous êtes à la recherche d'autres outils qui donnerait beaucoup plus spécifique et précise les détails, alors vous pourriez essayer YSLOW et WebPageTest. YSLOW est une intégration avec le Fantôme de JS qui va aider à automatiser le processus et de WebPageTest a des Api qui peut être mis à profit pour automatiser le même.
WebPageTest Lien De Référence : https://sites.google.com/a/webpagetest.org/docs/advanced-features/webpagetest-restful-apis
YSLOW Lien de Référence : http://yslow.org/phantomjs/
OriginalL'auteur M Navneet Krishna
Site web de test de charge dépend toujours de la client utilisé. Il existe des outils spécialisés pour les tests de temps de chargement de votre site web comme Apache JMeter, cependant il ne les exécute pas le Javascript ou le rendu de la page HTML (et le temps de chargement de ces actions sont très spécifiques du client), il ne recueille que le temps qu'il faut pour recevoir le site web, et des cas comme le votre deuxième question pourrait être plus facile à tester en sélénium que JMeter, selon la façon dont la recherche est exécutée.
Quant à votre deuxième question, vous avez un WebDriverWait jusqu'à ce qu'un résultat de recherche est trouvé, dans la même manière que votre exemple.
L'option javascript est la meilleure, car elle ne compte pas en sélénium des actions dans le temps, il vérifie navigateur timing.
OriginalL'auteur Mobrockers
OriginalL'auteur vijay sadhu