量角器,元素未显示或不存在?

Protractor, element not displayed or not present?

有没有办法测试某个元素是否不存在或未显示?

我有一些元素在某些页面上不存在,而另一些页面则不显示。我如何只用一条指令来测试它?

实际上如果我输入: expect(element.isDisplayed()).toBe(false) 不显示时可以,但不显示时会崩溃。 和 expect(element.isPresent()).toBe(false) 不存在时没问题,但存在但不显示时崩溃...

非常感谢

您可以创建自己的方法。

public shouldBeVisible(elem: ElementFinder, shouldBe: boolean) {
    if (!shouldBe) {
        return elem.isPresent().then((isPres) => {
            if (!isPres) {
                return expect(elem.isPresent()).toBe(false);
            }
            return expect(elem.isDisplayed()).toBe(false);
        });
    }
    return expect(elem.isDisplayed()).toBe(true);
}