Я пытаюсь убедиться, что учетная запись была успешно создана, но после нажатия кнопки отправки мне нужно дождаться загрузки следующей страницы и убедиться, что пользователь перешел по правильному URL-адресу.
Я использую pollUntil
для проверки клиентской части URL, но это приводит к Detected a page unload event; script execution does not work across page loads.
по крайней мере в Safari. Я могу добавить сон, но мне было интересно, есть ли лучший способ.
Вопросы:
Как вы можете опросить что-то вроде
this.remote.getCurrentUrl()
? По сути, я хочу сделать что-то вродеthis.remote.waitForCurrentUrlToEqual(...)
, но мне также любопытно, как опрашивать что-либо из команд Selenium по сравнению с использованием pollUntil, который выполняет код в удаленном браузере.Я проверяю, попал ли пользователь на защищенный URL-адрес после входа в систему здесь. Есть ли лучший способ проверить это, кроме опроса?
Лучшие практики: нужно ли мне делать утверждение с помощью Chai или это вообще возможно, когда я опрашиваю и жду чего-то в качестве теста? Например, в этом случае я просто пытаюсь провести опрос, чтобы убедиться, что мы оказались на правильном URL-адресе в течение 30 секунд, и у меня нет явного утверждения. Я просто предполагаю, что тест провалится, но не скажу, почему. Если лучше всего сделать утверждение здесь, как мне сделать это здесь или в любое время, когда я использую ожидание?
Вот пример моего кода:
'create new account': function() {
return this.remote
// Hidden: populate all account details
.findByClassName('nextButton')
.click()
.end()
.then(pollUntil('return location.pathname === "/protected-page" ? true : null', [], 30000));
}