Elixir Hound ждут загрузки страницы
Я отправляю форму входа в систему и пытаюсь потом захватить HTML, используя elixir / hound. После отправки я запускаю page_source
и ничего не получите. Если я подожду секунду (чтобы страница загрузилась до конца), я вернусь к HTML.
Есть ли способ заставить гончую ждать, пока страница не загрузится?
В настоящее время я делаю: :timer.sleep(2000)
как обойтись, надеясь на лучший путь:/
1 ответ
Решение
Вот что я делаю:
Создайте функцию, которая периодически проверяет состояние теста каждые 100 мс, в этом случае я жду появления определенного текста, используя visible_page_text
@tag timeout: 6000
test "My Test" do
assert wait_for(fn -> Regex.match?(~r/Success/, visible_page_text()) end)
end
def wait_for(func) do
:timer.sleep(100)
case func.() do
true -> true
false -> wait_for(func)
end
end