vic*_*hsu 9 dom element wait protractor
每当我尝试等待从我的量角器测试正在测试的网页上的当前DOM树中删除DOM元素时,我就遇到了这个问题.当我尝试等待DOM元素被另一个线程中的user2912739提供的这种漂亮的技术隐藏时,我已经掌握了它.
var el = element(by.css('.your-css-class'));
return browser.wait(protractor.until.elementIsNotVisible(el));
Run Code Online (Sandbox Code Playgroud)
这很不错.但是,当等待从DOM树中删除的元素时.isDisplayed(),.isPresent()或者上面的行似乎都不起作用.测试将继续运行,但看起来它正在尝试获取该元素但从未成功,因此它最终会根据配置文件的超时设置超时.例如.这是日志.
超时:等待规格完成30000毫秒后超时
每当您处理测试是否从DOM树中删除元素时,这种情况的用例可能非常频繁,例如,当用户单击取消该模态元素的操作时,关闭并从页面中删除的模式,或者您只想"删除"的元素,以便它不再存在于页面上.因此,在测试中,您只想在从DOM树中删除后立即继续测试运行.
我搜索了量角器和web驱动程序api,似乎没有api可以完成这项工作.
han*_*uan 19
不知道你从哪里来protractor.until,因为它不是核心库的一部分.这就是你用量角器做的方法:
var el = element(by.css('.your-css-class'));
return browser.wait(function() {
return el.isPresent().then(function(present) {
return !present;
})
});
Run Code Online (Sandbox Code Playgroud)
一旦壮举(expectedConditions)(可能是量角器1.7),您可以:
var EC = protractor.ExpectedConditions;
var el = element(by.css('.your-css-class'));
return browser.wait(EC.not(EC.presenceOf(el)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10758 次 |
| 最近记录: |