我在页面上有一系列链接,需要花费不同的时间才能加载...我想捕获每次占用的时间...我遇到的问题是如果超出waitForPageToLoad时间会导致测试失败,其余的链接都没有经过测试......我知道我可以在测试中跳过可疑的链接或设置超出预期的时间限制,但我希望有一个替代waitForPageToLoad可以用来在Selenium中加载页面时陷阱,因此如果页面加载时间超过一分钟,则不会结束脚本。
答案 0 :(得分:3)
我也只想等5秒,所以我改变了休息标准。
int second = 0;
while(!selenium.IsElementPresent(mylink))
{
if(second >= 5)
break;
Thread.Sleep(1000);
second++;
}
答案 1 :(得分:2)
以下是我要使用的内容:
int second = 0;
while(!selenium.IsElementPresent(mylink))
{
if(second >= 300)
break;
Thread.Sleep(1000);
}
你真的不需要\想要try-catch(异常)块,因为IsElementPresent不应该抛出异常。
答案 2 :(得分:1)
所以听起来我可能不得不去导出到perl或java来获得我正在寻找的功能。但是,waitForElementPresent确实提供了很多帮助。谢谢: - )
类似......
for (int second = 0; ; second++) {
if (second >= 300) break;
try {if (selenium.isElementPresent( mylink )) break;}
catch (Exception e) {}
Thread.sleep(1000);
}
答案 3 :(得分:0)
这样做的最佳方法是将超时设置为远期的数字,因为30秒是selenium的默认超时。
setTimout | 300
然后,如果您不想waitForElementPresent
waitForPageToLoad
调用