Jug*_*ugi 5 automation selenium-grid selenium-webdriver
我是网络驱动程序的新手,我为web应用程序编写了一个包含backbone.js和select2的selenium脚本.
我以前经常使用NosuchElementException而Element不是可点击的例外.所以我决定编写如下脚本, - 在点击任何元素之前,它将使用显式等待等待元素的存在.即在单击任何元素之前,它将等待元素加载.
在点击之前等待每个元素是最佳做法吗?
nil*_*esh 11
明确地等待某个元素及其特定状态是selenium-webdriver中的最佳实践.睡眠永远不是一个好主意,因为你的睡眠超时可能更少或更多,因此使你的测试不一致和不确定.
使用WebDriver 等待是同步问题的最佳解决方案.所以在JS这样的事情,
var until = webdriver.until;
var searchBox =
driver.wait(until.elementIsEnabled(driver.findElement(webdriver.By.name('q'))),5000,'Search button is not enabled');
Run Code Online (Sandbox Code Playgroud)
使用显式等待/隐式等待是最好的做法,让我们检查一下实际显式等待,Thread.sleep(),隐式等待的工作逻辑
显式等待:显式等待是在代码中继续进行之前等待某种情况发生的一种情况.
隐式等待:隐式等待是指在尝试查找一个或多个元素(如果它们不是立即可用)时,将WebDriver轮询DOM一段时间.默认设置为0
Thread.sleep()在睡眠代码中,即使工作页面在1秒后准备好,也会在括号旁边等待提到的秒数.所以这会减慢测试速度.
| 归档时间: |
|
| 查看次数: |
20587 次 |
| 最近记录: |