在量角器端到端测试中,我想使用我的代码element(by.css(…))检查某个元素是否存在:
var myElement = element(by.css('.elementClass')); expect(myElement).toBeUndefined;
该测试失败,它说:
Expected { locator_ : { using : 'css selector', value : 'div[ng-switch- when="resultNav"]' }, parentElementFinder_ : null, opt_actionResult_ : undefined, opt_index_ : undefined, click : Function, sendKeys : Function, getTagName : Function, getCssValue : Function, getAttribute : Function, getText : Function, getSize : Function, getLocation : Function, isEnabled : Function, isSelected : Function, submit : Function, clear : Function, isDisplayed : Function, getOuterHtml : Function, getInnerHtml : Function, toWireValue : Function } to be undefined.
之后,我尝试使用一个承诺:
element(by.css('.elementClass')).then( functtion(data) { expect(data.getText()).toBeUndefined(); });
这将导致错误:
错误:使用定位器By.CssSelector(…)未找到任何元素
是的,我知道将找不到任何元素,但是如何使用element(by.css(...))创建工作测试?
by.css(...)
有谁知道如何实现这一目标?还是element(by.css())不是这里使用的方法?
element(by.css())
您可以通过检查是否element存在isPresent。 这是该isPresent函数的量角器文档。
element
isPresent
因此,您的代码将类似于:
var myElement = element(by.css('.elementClass')); expect(myElement.isPresent()).toBeFalsy();