我正在使用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" );
答案 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
类的更多信息。