我的代码:
this.condition = function() {
element(by.partialLinkText('Times Jobs')).isDisplayed().then(function (result) {
if (result) {
element(by.partialLinkText('Times Jobs')).click();
} else {
console.log('Times source not found')
}
});
}
如果页面中没有显示“Times Jobs”,那么它应该显示else语句中的任何文本。我怎么能这样做?
我不想让测试失败,只需要在控制台中打印该文本。
答案 0 :(得分:2)
您可以isPresent()
使用isDisplayed()
,但如果您想继续使用element(by.partialLinkText('Times Jobs')).isDisplayed().then(function (result) {
if (result) {
element(by.partialLinkText('Times Jobs')).click();
} else {
console.log('Times source in page but not displayed');
}
}, function() {
console.log('Times source not in page');
});
,则必须处理在其错误回调中找不到该元素的情况退回承诺:
element(by.partialLinkText('Times Jobs')).isDisplayed().then(function (result) {
if (result) {
element(by.partialLinkText('Times Jobs')).click();
} else {
return protractor.promise.rejected();
}
}).catch(function() {
console.log('Times source not in page or in page and not displayed');
});
或者,如果您想在两个不存在的情况下输出相同的消息 在页面中,或在页面中但未显示,您可以...
var a = "test";
答案 1 :(得分:0)
你可以尝试这个::
PREFERRED_VERSION_<recipe> = <version>
好像页面上没有元素而不是元素未找到错误