在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" ); 

你的秒表function应该工作。 此外,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()); 

以下是有关StopWatch类的更多信息。