按数据属性查找并填写输入字段

时间:2014-10-28 16:53:25

标签: ruby-on-rails rspec capybara

我想通过"测试"找到元素。 data属性并填写如下:

When(/^I sign in with valid credentials$/) do
  email = page.find("data-test='email'")
  password = page.find("data-test='password'")
  fill_in email, with: @user.email
  fill_in password, with: @user.password
  submit = page.find("[data-test='submit']")
  submit.click
end

按钮工作正常,但输入会引发以下错误:

Unable to find field #<Capybara::Element tag="input"> (Capybara::ElementNotFound)

有没有办法在水豚做到这一点?在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

fill_in方法接受元素的id,name或label文本,因此它可能不适用于find方法返回的结果。在您的情况下,请尝试set方法:

find("input[data-test='email']").set(@user.email)