在Selenium中计时页面加载时间

时间:2011-05-24 15:26:06

标签: java performance logging selenium

我正在使用selenium在我的网站上记录一些性能测试。例如登录时间,查询时间等。我在Selenium IDE上记录了一个示例脚本。我现在运行一个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");
}

如何记录点击登录按钮到加载“已登录”屏幕的时间长度?

这是我想出的,这是一个准确的时机吗? :

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

1 个答案:

答案 0 :(得分:2)

你的秒表功能应该有效。此外,Selenium以合理的精度捕获加载时间,减少命令之间的等待时间。 我通常使用以下逻辑 -

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());

Here是关于StopWatch类的更多信息。