Как выбрать опцию из выпадающего списка с помощью Hound?
У меня есть следующий выпадающий список:
<select id="cities" name="cities">
<option value="paris">Paris</option>
<option value="london">London</option>
<option value="rome">Rome</option>
</select>
Я пишу интеграционные тесты в Elixir с Hound, и я хотел бы выбрать элемент из списка выше, прежде чем отправлять мою форму. Могу ли я сделать это с собакой?
Я не смог найти ничего о выпадающих списках в документации Hound.
1 ответ
Решение
В настоящее время нет функции Hound, предназначенной для выбора элемента из выпадающего списка.
Тем не менее, вы можете использовать find_element/3
чтобы найти элемент, соответствующий значению параметра, который вы хотите выбрать, а затем передать этот элемент click/1
выбрать его:
find_element(:css, "#cities option[value='london']") |> click()
Больше информации по этому вопросу GitHub
Пример реализации
defmodule CustomHelpers.Hound do
use Hound.Helpers
def select_drop_down(drop_down, option) do
find_element(:css, "##{drop_down} option[value='#{option}']") |> click()
end
def select_drop_down_within(element, drop_down, option) do
find_within_element(element, :css, "##{drop_down} option[value='#{option}']") |> click()
end
end