我正在将Selenium IDE用于Firefox并搜索等待命令。我的问题是我想用嵌入式外部地图测试网站。此外部地图需要3-5秒才能加载。
我的命令:
open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something
Answers:
使用暂停命令,然后在“目标”字段中输入毫秒数。
将速度设置为最快(操作->最快),否则它将无法正常工作。
Target
代替Value
。命令=暂停,目标= 1000
pause()
不起作用!
这会使事情延迟5秒钟:
命令:暂停
目标:5000
值:
这会使事情延迟3秒:
命令:暂停
目标:3000
值:
说明文件:
http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause
对于使用的用户ant
,我用它来表示5秒钟的暂停:
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
也就是说,target: 5000
与value
空的。如参考资料所示:
暂停(waitTime)
参数:
- waitTime-睡眠时间(以毫秒为单位)
等待指定的时间(以毫秒为单位)
最好的选择是waitForCondition
编写一个JavaScript函数,在加载地图时返回true。
这将完成您在C#(WebDriver / Selenium 2.0)中寻找的功能
var browser = new FirefoxDriver();
var overallTimeout = Timespan.FromSeconds(10);
var sleepCycle = TimeSpan.FromMiliseconds(50);
var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);
而从未使用Thread.sleep代码,因为它使你的测试不可靠
pause命令可以直接在ide中以html格式使用。
如果使用Java或C,则可以使用Thread.sleep(5000)。时间以毫秒为单位。其他语言支持“ sleep 5”或time.sleep(5)。您有多个选项可以等待设定的时间。
这将等待直到您的链接出现,然后您才能单击它。
Command: waitForElementPresent
Target: link=do something
Value: