Я новичок в Nightwatch. js и перенесу некоторые тесты из библиотеки WD. js. Отличная особенность WD. js - это .waitForConditionInBrowser()
, которая ожидает, что произвольный фрагмент JavaScript будет правдивым. Однако я не могу понять, как взаимодействовать с JavaScript таким образом в Nightwatch. js, или, если это вообще возможно (после просмотра документов). Вот пример того, что я хочу сделать:
Допустим, я загружаю страницу, где примерно через 3 секунды my_js_var
становится 5. В WD. js это будет выглядеть так (wait max 5 секунд):
.get(my_page_url)
.waitForConditionInBrowser('my_js_var === 5', 5000)
// continue if my_js_var === 5 within 5 s
Я даже пытался сделать что-то более грязное в Nightwatch, но я, вероятно, неправильно понимаю, как вообще работает взаимодействие со страницей JS:
.url(my_page_url)
.pause(5000)
.execute(function() {
return (my_js_var === 5);
})
// continue if my_js_var === 5 within 5 s
Но он просто продолжается независимо от того, что возвращено, и неясно, куда возвращается результат.
Есть ли надлежащая функция waitFor в Nightwatch, и если нет, то как мне выполнить базовые c утверждения для оцененных JavaScript код?