我想检查一个元素是否可见,如果不可见,我希望我的测试继续进行其他测试。
问题是,如果元素不可见,则似乎什么都不起作用……我已经尝试过isDisplayed(),isPresent(),invisibilityOf()..。但如果元素不可见,则测试失败。例如:
element(myElement).isDisplayed().then(function(result) {
if (result) {
//do something
}
else {
//do something else
}
}如果存在myElement,则可以很好地工作。但是如果没有,测试就会失败,并返回错误:没有使用locator:By.cssSelector(myCss)找到元素。因此,不知何故,它不会解析isDisplayed()返回的promise,所以它永远不会转到else部分。如果元素没有显示,我可以做些什么来保持我的测试运行?
发布于 2016-03-24 22:50:46
您可以通过链接promises来解决此问题。仅当元素both存在并显示时,此函数才会返回true。
var isApproachable = function(element) {
return element.isPresent().then(function(present) {
return present
? element.isDisplayed()
: false;
});
}
isApproachable(myElement).then(function(approachable) {
if (approachable) ...
});https://stackoverflow.com/questions/36201154
复制相似问题