Подтвердить что ты не робот

Оценка Capybara скрытого поля

У меня есть форма со скрытым полем, которое содержит текущую дату.

Я пытаюсь выяснить, как написать finder capybara, чтобы:

  • Убедитесь, что поле есть
  • Проверьте значение поля

Возможно ли это с Capybara?

4b9b3361

Ответ 1

его простое вы можете сделать это, используя find_by_css или используя xpath, как следует

page.find_by_css('#foo .bar a') #foo is the id the foo has .bar class
page.find('/table/tbody/tr[3]') #path of the element we want to find

Ответ 2

просто выполните это:

find("#id_of_hidden_input", :visible => false).value

Ответ 3

Вы также можете поручить Capybara не игнорировать скрытые элементы глобально в вашем spec_helper.rb или эквиваленте. Поведение по умолчанию можно переопределить:

# default behavior for hidden elements
# Capybara.ignore_hidden_elements = false

# find all elements (hidden or visible)
page.all(".articles .article[id='foo']")

# find visible elements only (overwrite the standard behavior just for this query)
page.all(".articles .article[id='foo']", :visible => true)


# changing the default behavior (e.g. in your features/support/env.rb file)
Capybara.ignore_hidden_elements = true

# now the query just finds visible nodes by default
page.all(".articles .article[id='foo']")

# but you can change the default behaviour by passing the :visible option again
page.all(".articles .article[id='foo']", :visible => false)

Примеры, взятые из этой статьи.