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

时间:2019-01-16 08:30:29

标签: jasmine protractor e2e-testing

有没有一种方法可以测试元素是否不存在或不显示?

我有些元素在某些页面上不存在,而另一些页面则不显示。我如何仅用一条指令就可以对此进行测试?

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

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以创建自己的方法。

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);
}