Я пытаюсь написать набор автоматических тестов в Mocha для тестирования веб-приложения узла.
Я создал собственный метод ожидания, чтобы веб-драйвер ожидал, пока поле ввода или текстовая область не содержат отправленный текст из метода sendKeys (), прежде чем перейти к проверке.
IУ меня проблемы с получением пользовательского метода ожидания, который на самом деле возвращает желаемое значение.
function waitForAttributeValue(element, attribute, value)
{
return element.getAttribute(attribute).then(result =>
{
if(result === value)
return result;
else
return false;
});
}
А потом я помещаю в ожидание вот так:
let result = this.driver.wait(waitForAttributeValue(element, 'value', 'hello'), 4000);
Результат иногда возвращает значениеЯ ожидаю (в данном случае «привет»), и иногда он возвращает false, что приводит к сбою моего теста.
На основе документации
Чтобы определить пользовательское условие, просто вызовите WebDriver.wait с функцией, которая в конечном итоге вернет истинное значение (ни null, undefined, false, 0, ни пустую строку)
Есть ли что-то, что яотсутствует или я неправильно истолковал документацию?
Дополнительно я использую: Node v.8.11.3 и пакет узла Selenium v.4.0.0-alpha.1
Спасибо за любыепредложения заранее.