Вот что я пытаюсь сделать, тестируя приложение Angular с Protractor. Я хотел бы получить определенный элемент, который выглядит примерно так:
<div class="someClass">
<p>{{textFromBoundModel}}</p>
</div>
затем получите его html и проверьте, содержит ли он текст, который я ожидаю от него.
Сначала я попытался получить этот элемент методом cssContainingText
, но это не совсем сработало (не знаю почему; может быть, потому что текст внутри абзаца создается динамически). Итак, теперь я получаю этот элемент, используя только локатор by.css
. Затем я проверяю, содержит ли он текст, который я тестирую:
// this is Cucumber.js
this.Then(/^Doing my step"$/, function(callback){
var el = element(by.css('.someClass'));
expect(el).to.contain("some interesting string");
callback();
});
});
но это не работает. Проблема в том, что el
— это какой-то объект локатора, и я не могу понять, как получить html найденного им элемента, чтобы протестировать этот html. Пробовал .getText(), но безуспешно.
Какие-либо предложения?