我正在尝试编写一个等待文本等于某个值的函数。在我的element.js
(代表所有网页元素)中,我写了这个函数:
getText() {
return this.browser.getText(this.selector);
}
waitForTextEquals(expectedText) {
browser.waitUntil(function () {
console.log(this.getText().toString() + "||" + expectedText)
return this.getText() === expectedText
}, 5000, 'expected text to be different after 5s');
}
在我的mocha脚本中,我有这个:
it('updates payment due date when issue date and payment terms change', () => {
invoiceEditPage.details.paymentDueDateField.waitForTextEquals(formatDate(moment(today).add(15, 'days')))
return invoiceEditPage.details.paymentDueDateField.getText()
.then((dueDate) => assert.strictEqual(dueDate, formatDate(moment(today).add(15, 'days'))));
});
但是,这不会导致程序等待,即使它是同步的。这是为什么?
由于