2015-07-02 2 views
0

Попытки проверить значение этого элемента на угловом plunker:Как найти элемент в тесте на транспортир?

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:('); 
})  

Getting ошибки, хотя:

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. 

есть лучший способ найти этот поверочный элемент или то, что является правильным XPath выражение?

ответ

2

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

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

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

0

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

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

Или попробуйте это:

var errortext = element(By.xpath('/body/div/h2/span[2]')).getText(); 
Смежные вопросы