如何检查量角器中没有显示元素?
我对参数返回true或false的泛型函数感兴趣。我会在测试中多次使用它。
答案 0 :(得分:3)
.isDisplayed()
是你的功能:
expect(elm.isDisplayed()).toBe(false); // elm is not visible
答案 1 :(得分:1)
此外,如果你没有期望,而是等待某些事情消失,你可以这样做:
browser.wait(function () {
return elm.isDisplayed().then(function(displayed) {
return !displayed;
});
}, 5000);
答案 2 :(得分:0)
一种方法是使用量角器的内置Expected Conditions.invisibilityOf方法。它不会返回true / false,但是如果为false则会引发错误。
import { browser, by, element, ExpectedConditions } from 'protractor';
const elToFind = element(by.css('.thing')),
it('elToFind is hidden or not present', () => {
try {
browser.wait(ExpectedConditions.invisibilityOf(elToFind), 5000);
} catch(err) {
// the statement threw an error (and thus is false)
// continue your test here for the 'false' case
}
// the statement executed successfully (and thus is true)
// continue your test here for the 'true' case
});
如果以上情况引发错误,则测试将失败。否则,它将通过。
文档: https://www.protractortest.org/#/api?view=ProtractorExpectedConditions.prototype.invisibilityOf