При попытке подтвердить результат из getText () продолжайте получать ошибки, которые указывают, что getText () возвращает объект вместо строки.
Я довольно новичок в автоматизированном тестировании, но мой (опытный) коллега получает то же самое, и мы взглянули на него из JS-разработчика, который также озадачен.
Использование selenium-cucumber-js в качестве тестовой среды.
(это единственная среда, в которой нам удалось поработать в сети клиента).
Я добавил console.log в тесте, чтобы доказать, что текст можно извлечь, он записывается нормально, но утверждение все равно не выполняется.
Также попробовал все различные предложения в этом вопросе, но все еще не может заставить его работать
Транспортир: element.getText () возвращает объект, а не строку
Страница Obj:
zeroResults: function () {
return driver.wait(until.elementsLocated(by.css(...)), 10000)
.then(function () {
return driver.findElement(by.css(...))
.getText().then(function (searchOutcome) {
console.log(searchOutcome); //this was just to prove the text can be found
return searchOutcome;
// Я также пробовал варианты этого (например, удаление окончательного возврата)
Step Def:
this.Then(/^I should see text "Zero results found"$/, function () {
var searchOutcome = page.xx.zeroResults();
expect(searchOutcome).to.equal('Zero results found');
Ожидайте прохождения теста, но вместо этого получите:
AssertionError: ожидается, что {Object (flow_, stack_, ...)} будет равен «найдено нулевых результатов»
Если я изменю утверждение на:
return Promise.resolve (searchOutcome) .should.eventually.equal ('Обнаружен нулевой результат');
Я получаю:
TypeError: Невозможно прочитать свойство 'в конце концов' из неопределенного
Это лишь некоторые из попыток, но все попытки имеют схожие результаты. Это затрагивает более одного пользователя, было доказано на нескольких тестовых примерах и использует разные утверждения / ожидания.
Любая помощь приветствуется.