Time 硒中waitForPageToLoad的替代品
我有一个页面上的链接,需要不同的时间加载系列。。。我想记录下每一次花费的时间。。。我遇到的问题是,如果超过waitForPageToLoad时间,则会导致测试失败,而我的其余链接不会得到测试。。。我知道我可以跳过测试中的可疑链接,或者设置超出预期的时间限制,但我希望有一种替代waitForPageToLoad的方法,可以用于在Selenium中加载页面时捕获,这样,如果页面加载时间超过一分钟,它就不会结束脚本 实现这一点的最佳方法是将超时时间设置为将来的某个数字,因为30秒是selenium的默认超时时间Time 硒中waitForPageToLoad的替代品,time,event-handling,selenium,Time,Event Handling,Selenium,我有一个页面上的链接,需要不同的时间加载系列。。。我想记录下每一次花费的时间。。。我遇到的问题是,如果超过waitForPageToLoad时间,则会导致测试失败,而我的其余链接不会得到测试。。。我知道我可以跳过测试中的可疑链接,或者设置超出预期的时间限制,但我希望有一种替代waitForPageToLoad的方法,可以用于在Selenium中加载页面时捕获,这样,如果页面加载时间超过一分钟,它就不会结束脚本 实现这一点的最佳方法是将超时时间设置为将来的某个数字,因为30秒是selenium的默
setTimout | 300
然后,如果您不想执行waitForPageToLoad,您可以在下一页对对象执行
waitForElementPresent
调用,因此听起来我可能需要导出到perl或java才能获得我正在寻找的功能。但是,侍者在场确实帮了大忙。谢谢:-)
类似于
for (int second = 0; ; second++) {
if (second >= 300) break;
try {if (selenium.isElementPresent( mylink )) break;}
catch (Exception e) {}
Thread.sleep(1000);
}
以下是我将使用的:
int second = 0;
while(!selenium.IsElementPresent(mylink))
{
if(second >= 300)
break;
Thread.Sleep(1000);
}
您真的不需要\想要try-catch(exception)块,因为IsElementPresent不应该抛出异常。Wawa的答案对我来说非常有用,我只需要将增量添加到第二个变量中 我也只想等5秒钟,所以我更改了中断标准
int second = 0;
while(!selenium.IsElementPresent(mylink))
{
if(second >= 5)
break;
Thread.Sleep(1000);
second++;
}
waitForElementPresent让我接近了,但是如果需要5分钟,我还需要超时来结束链接的测试,我需要它来继续脚本并测试其余的链接等等。你总是需要在将来使用setTimeout值,如果你可以导出,那么它总是值得的。在Selenium Core/IDE中有一个setTimeout调用,该调用将把该测试用例的超时设置为一个值,如果在此之前出现了什么,那么它将继续执行