Транспортир обещает для getText () - PullRequest
0 голосов
/ 24 мая 2018

Я не использовал транспортир в течение многих месяцев, и мне пришлось вернуться к нему.Однако я терплю неудачу с очень простой вещью, с которой я работал в прошлом (и даже использовал тот же код безрезультатно).

У меня есть страница со следующим html:

<label class="control-label field-required" style="">The text I want</label>

Итак, я хотел сравнить, что этот текст соответствует другому значению.Поэтому я использовал следующее:

var actualText = element(by.css('label.control-label.field-required')).getText().then(function(actualText2) {
    console.log("out2    : " + actualText2);
    return expect(actualText).to.eventually.equal("hello");
});

console.log("out3    : " + actualText);

То, что я вижу на консоли, это пропуск (и он не должен проходить, так как строки не совпадают), я не вижу вывода для "out2"но для "out3" я вижу:

out3    : ManagedPromise::194 {[[PromiseStatus]]: "pending"}

Я не вижу, что я делаю неправильно - надеясь, что кто-то другой может.

1 Ответ

0 голосов
/ 24 мая 2018

Ошибка исходит из строки ниже и должна быть:

return expect(actualText2).to.equal("hello");
// should use function argument `actualText2`, rather than outer variable `actualText`
// argument `actualText2` is not promise, so can't use `eventually` in assertion: `expect`

или более прямой путь:

var chai = require('chai'),
    chaiAsPromised = require('chai-as-promised'),
    expect = chai.expect;

chai.use(chaiAsPromised);

var actualText = element(by.css('label.control-label.field-required')).getText();
expect(actualText).to.eventually.equal("hello");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...