1

我有以下下拉列表:

<select id="cities" name="cities">
  <option value="paris">Paris</option>
  <option value="london">London</option>
  <option value="rome">Rome</option>
</select>

我正在用Hound在Elixir中编写集成测试,我想在提交表单之前从上面的列表中选择一个元素。我可以用猎犬做到这一点吗?

我在Hound 文档中找不到任何有关下拉列表的信息。

4

1 回答 1

3

目前没有专门用于从下拉列表中选择元素的 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_id, option) do
    find_element(:css, "##{drop_down_id} option[value='#{option}']") |> click()
  end

  def select_drop_down_within(element, drop_down, option) do
    find_within_element(element, :css, "##{drop_down_id} option[value='#{option}']") |> click()
  end
end
于 2018-04-16T16:12:18.310 回答