我想通过"测试"找到元素。 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)
有没有办法在水豚做到这一点?在此先感谢您的帮助。
答案 0 :(得分:3)
fill_in
方法接受元素的id,name或label文本,因此它可能不适用于find方法返回的结果。在您的情况下,请尝试set
方法:
find("input[data-test='email']").set(@user.email)