2016-07-25 60 views
0

在我的Rails應用中,我使用了rails_admin。我想填補一段關係。假設一篇文章屬於作者。我想設置作者。 rails_admin使用自動完成形式來選擇這些數據,即xhr。如何選擇價值並使用水豚提交此數據。正常選擇在這裏不起作用。集成測試:使用Capybara在Rails_Admin中填充自動完成下拉列表

我假設我需要採取以下措施

  1. 點擊圖標胡蘿蔔,
  2. 從下拉

或者是有一些其他的方法來填補這些數據選擇第一個值,即執行腳本等 但我該怎麼做?

編輯

截至目前,我已經使用硒驅動程序開始,我用以下解決方案

within '#post_user_id_field' do 
    find(".input-group-btn").click 
end 
page.execute_script(%q{$("ul#ui-id-3").find("li")[1].click()}) 

提出一些更好的方法。

由於提前,

回答

0

我在Using Capybara with RSpec接過來一看,我發現一些有用的信息。沒有看到任何代碼,你可以做以下的事情(從上面的鏈接中獲取):

describe 'some stuff which requires js', :js => true do 
    it 'will use the default js driver' 
    it 'will switch to one specific driver', :driver => :webkit 
end 

這將在您的測試中啓用JavaScript。如果您仍然在選擇時遇到問題,您可以通過在測試代碼中放置save_and_open_screenshot來查看JavaScript驅動程序正在查看的內容,從而進行一些調試。

0

你如何做到這一點真的取決於頁面上的HTML,但基本上它歸結爲

find(:css, 'selector for the caret').click 
find(:css, 'selector for the dropdown elements', text: 'text of the dropdown element to be selected').click 

,並確保您使用的是支持JS司機 - https://github.com/jnicklas/capybara#drivers

注意: :如果Capybara.default_selector ==:css(默認情況下是這樣),那麼在查找調用中的css是沒有必要的