Я пытаюсь создать метод в объекте страницы, который выполняет определенный тест, который я буду часто использовать.Я следовал примеру документации , но он предназначен для ввода / нажатия и, возможно, не может работать с expect
?
AssertionError: expected undefined to be truthy
Эта ошибка указывает на эту строку в моем тесте:
await t.expect(await page.nameTextInput.isRequired()).ok()
Это вызывает проверку isRequired
внутри "TextInputFeature", который я использовал внутри моей объектной модели страницы:
export default class TextInputFeature {
constructor(model) {
this.input = AngularJSSelector.byModel(model);
this.label = this.input.parent().prevSibling('label');
this.asterisk = this.label.find('.required');
}
async isRequired() {
await t
.expect(this.input.hasAttribute('required')).ok()
.expect(this.asterisk.exists).ok();
}
}
РЕДАКТИРОВАТЬ: Следующее "работает":
await t
.expect(...)
.click(...)
.expect(...)
await page.racTextInput.isRequired();
await t
.expect(...)
... но моя цель - разрешить цепочку:
await t
.expect(...)
.click(...)
.expect(page.racTextInput.isRequired()).ok()
.expect(...)