Используйте элемент css, чтобы проверить, существует ли элемент в Транспортире

в сквозном тесте транспортира я хочу проверить, существует ли элемент с помощью элемента (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();
});

это приводит к ошибке:

Error: No element found using locator By.CssSelector(...)

Да, я знаю, что элемент не будет найден, но как я могу создать рабочий тест с помощью element (by.стиль CSS.(..))?

кто-нибудь знает, как этого добиться? или элемент(по.css ()) не метод для использования здесь?

2 ответов


вы можете проверить, является ли element С isPresent. вот документы транспортира на


вам нужно проверить, присутствует ли элемент:

expect(element(by.css('.elementClass')).isPresent()).toBe(false);