2011-02-04 154 views
1

我使用硒运行一些很简单的测试,有的测试我的缓慢构建机器上随机失败,给这个错误:selenium.waitForPageToLoad(“3000”)超时后3000毫秒

com.thoughtworks.selenium .SeleniumException:后3000ms

针对该代码超时:

seleniumStart(); 
selenium.open("*****"); 
selenium.waitForPageToLoad("3000");  
selenium.type("j_username", LoginTest.DEFAULT_ADMIN_USERNAME); 
selenium.type("j_password", LoginTest.DEFAULT_ADMIN_PASSWORD); 
selenium.click("loginbutton"); 
selenium.waitForPageToLoad("3000"); 
selenium.click("nav_form:managepatients"); 

它使用弹簧的安全性,并作为JSF前端。有谁知道这是为什么发生?我一直坚持这2天。

在此先感谢。

回答

2

3000毫秒只有3秒,这可能不足以让页面有时加载,所以也许你只需要提高超时时间? waitForPageToLoad的30000毫秒似乎更合适。

+0

谢谢@Zarkonnen,工作。 – Ikthiander 2011-02-04 12:12:10

0

大概页面没有在那个时候加载,你试图提高超时说30000,如果不工作,你最好的办法是同时硒运行看浏览器

2

什么是更适合我强大的时尚比selenium.waitForPageToLoad("xxxxxx");是 -

while (!(selenium.isElementPresent("any element on page")==true)) { 
    selenium.setSpeed("10"); 
    Thread.sleep(10); 
    } 

这使您可以等到某个预定单元载荷,然后进行后续操作。测量响应时间也很好...

0

您可以增加等待页面加载时间。 或 使用:selenium.setSpeed("2000"); - 将等待2秒它在setSpeed延迟后运行setSpeed中提到的毫秒数后的每个命令。所以在这种情况下,每次操作之后都会有2秒的差距,这将有助于操作完成,并且将移交到下一个操作。

相关问题