Как мне установить значение поля ввода с помощью 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');