2016-12-09 52 views
0

我試圖從黃瓜測試發送表單數據到控制器方法。Rails黃瓜測試 - 發送表單數據到方法

我有一個表單,登錄&密碼字段,並提交按鈕。
表單視圖:

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

在黃瓜步驟,在該形式I的輸入值(登錄字段未示出,但類似的)。

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

有幾種方法來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 
+0

謝謝它的工作原理 – snowy500