Rails Cucumber Testing - 将表单数据发送到方法

时间:2016-12-09 14:17:21

标签: ruby-on-rails ruby testing cucumber

我尝试将表单数据从黄瓜测试发送到控制器方法。

我有一个登录表格&密码字段和提交按钮 表格视图:

<%= text_field_tag 'login', id: 'login-input' %>
<%= password_field_tag 'password', nil, id: 'password-input' %>
<%= submit_tag 'Login', id: 'submit-credentials' %>

在黄瓜步骤中,我以该形式输入值(登录字段未显示,但相似)。

Then(/^I press "password-input"$/) do
  find("#password-input").click
end
Then(/^I enter "myPassword" into the "password-input"$/) do
  find("#password-input").text("myPassword")
end

所以现在设置了登录名和密码值。

然后我按提交按钮

And(/^I press "submit-credentials"$/) do
  find("#submit-credentials").click()
end

我的身份验证方法被称为但其参数为空

当我在网页上正常输入值时,一切正常。为什么黄瓜版本不起作用?

我所有的黄瓜步骤都过去了!!所以我很困惑

如何将文本字段中的数据发送到控制器方法?

谢谢

1 个答案:

答案 0 :(得分:1)

interact with forms in Capybara

有几种方法

尝试使用

Then(/^I enter "myPassword" into the "password-input"$/) do
    find("#password-input").set("myPassword")
end

而不是

Then(/^I press "password-input"$/) do
    find("#password-input").click
end
Then(/^I enter "myPassword" into the "password-input"$/) do
    find("#password-input").text("myPassword")
end