在量角器中不显示检查元素的功能

时间:2016-02-15 11:59:16

标签: protractor end-to-end

如何检查量角器中没有显示元素?

我对参数返回true或false的泛型函数感兴趣。我会在测试中多次使用它。

3 个答案:

答案 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