Как мне установить значение поля ввода с помощью chai/chai-smoothie?

Спасибо за чай-смузи!

Как мне установить значение поля ввода с помощью chai/chai-smoothie?

Учитывая, что getText() всегда пуст, и мы должны использовать element.getAttribute('value') (см.: Как получить getText для входа в транспортир)

Я хотел бы иметь возможность сделать что-то вроде:

expect(this.nameTextbox).to.eventually.have.value('name');

Это не похоже на работу:

expect(this.nameTextbox.getAttribute('value')).to.eventually.equal('name');

AssertionError: expected { Object (browser_, then, ...) } to equal 'name'

1 ответ

Решение

chai-smoothie Это включить сообщение об ошибке более удобным для чтения, когда утверждение не удалось. Но он не может справиться с обещанием: this.nameTextbox.getAttribute('value') вернуть обещание.

Примечание. Все обещания возврата API Protractor.

Вам нужно использовать chai-as-promised с chai справиться с обещанием.

var chai = require('chai'),

chai.use(require('chai-as-promised'));
chai.use(require('chai-smoothie'));

global.expect = chai.expect;

// then can do assertion as following:
expect(this.nameTextbox.getAttribute('value')).to.eventually.equal('name');
Другие вопросы по тегам