量角器检查元素是否不存在

Sak*_*uma 30 javascript angularjs chai protractor

我在基于角度的网站上有一个设置,可以打开和关闭下拉列表.如果它关闭,则它不会显示在主页面上.

使用量角器时,我需要检查开关关闭时是否存在此元素.但是,我不应该被抛入Element Not Found Error,因为它是一组中的一个测试.我该怎么做?

我试过这样做:

expect($$('.switch').count()).to.equal(0).and.notify(next);
Run Code Online (Sandbox Code Playgroud)

但我得到了一个AssertionError ...

Car*_*arl 31

另一种选择对我来说效果更好,并使用量角器'方式'做事http://angular.github.io/protractor/#/api?view=ElementArrayFinder.prototype.all

element.all(by.css('.k-loading-image')).then(function(items) {
    expect(items.length).toBe(0);
});
Run Code Online (Sandbox Code Playgroud)

(我想检查装载指示灯是否已经消失)


Sak*_*uma 23

通过使用我在文档中找到的东西来完成工作:

expect(element(by.css('.switch')).isPresent()).to.become(false).and.notify(next);
Run Code Online (Sandbox Code Playgroud)

也使用断言,因此它不会破坏cucumberjs.


Dan*_*iel 10

我这样做可以使其工作:

expect(element(by.css('css')).isPresent()).toBeFalsy();
Run Code Online (Sandbox Code Playgroud)