6 Stimmen

Zeitmessung der Seitenladezeiten in Selenium

Ich verwende Selenium, um einige Leistungstests auf meiner Website zu protokollieren, z. B. Anmeldezeiten, Abfragezeiten usw. Ich habe ein Beispielskript auf Selenium IDE aufgezeichnet. Ich habe es jetzt laufen ein Selenium RC (Java).

    public void testNew() throws Exception {
    selenium.open("/jira/secure/Dashboard.jspa");
    selenium.selectFrame("gadget-10371");
    selenium.type("login-form-username", "username");
    selenium.type("login-form-password", "pw");
    selenium.click("login");
    selenium.waitForPageToLoad("30000");
    selenium.selectWindow("null");
    selenium.click("find_link");
    selenium.waitForPageToLoad("30000");
    selenium.removeSelection("searcher-pid", "label=All projects");
}

Wie kann ich protokollieren, wie lange es dauert, vom Anklicken der Login-Schaltfläche bis zum vollständigen Laden des "Eingeloggt"-Bildschirms?

Hier ist, was ich mir ausgedacht habe, wäre das ein genaues Timing?

    long starttime = System.currentTimeMillis();
    selenium.waitForPageToLoad("30000");
    long stoptime = System.currentTimeMillis();
    long logintime = stoptime -  starttime;
    System.out.println(logintime+" ms" );

2voto

rs79 Punkte 2291

Ihre Stoppuhrfunktion sollte funktionieren. Damit Selenium die Ladezeit mit angemessener Genauigkeit erfassen kann, sollten Sie außerdem die Wartezeit zwischen den Befehlen verringern. Ich verwende normalerweise die folgende Logik -

StopWatch s = new StopWatch();
s.start();
while (selenium.isElementPresent("element_locator")) {
   selenium.setSpeed("10");
   Thread.sleep(10);
}
s.stop();
System.out.println("elapsed time in milliseconds: " + s.getElapsedTime());

Hier finden Sie weitere Informationen über die StopWatch Klasse.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X