как найти элемент в тесте транспортира?

0

Попытка проверить значение этого элемента на угловом плунжере:

it('should display valid',function(){
  browser.get('http://embed.plnkr.co/3nt01z/preview');
  var errortext =element(By.xpath('body>div>h2>span:nth-child2)')).getText);
  expect(errortext).toBe('Not:(');
})    

Получение ошибки:

Stacktrace:
InvalidSelectorError: invalid selector: Unable to locate an element with the xpath expression body>div>h2>span:nth-child(2) because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string 'body>div>h2>span:nth-child(2)' is not a valid XPath expression.

Есть ли лучший способ найти этот элемент span или правильное выражение xpath?

Теги:
protractor

2 ответа

2

Я думаю, вы имели в виду By.cssSelector(...).

By.xpath ожидает выражение XPath, которое будет чем-то вроде /body/div/h2/span[2], хотя я не уверен в точном синтаксисе.

Кстати, ваш код будет легче протестировать, если вы добавили в элемент ID или CSS-класс, поэтому вам не нужно зависеть от точной структуры DOM.

0

Попробуйте использовать элемент (by.css('some css selector'))

Кроме того, у вас есть опечатка в коде - getText; вместо getText();

Или попробуйте следующее:

var errortext = element(By.xpath('/body/div/h2/span[2]')).getText();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню