2016-02-08 96 views
1

我可以在RoR RSpec +水豚做出選擇嗎? 通常我使用:角質材料選擇水豚

select 'something', from: 'select_name' 

但對角的md-select是不起作用。 水豚顯示錯誤:

Capybara::ElementNotFound: Unable to find select box "select_id"

回答

1

出於某種原因,Riddler的解決方案WASN找不到選擇離子。我重寫它使用CSS選擇器,並能夠得到它的工作:

def md_select(name, from:) 
    find("md-select[name='#{from}']").click 
    find('md-select-menu md-content md-option div', text: name).click 
end 

和使用情況是像這樣,與選項的顯示值(不是值屬性):

md_select "Female", from: 'gender' 
0

我簡單的添加自定義md_select法水豚。

def md_select name, from: '' 
    puts 'md_select `from:` param is required. For example `md_select select_value, from: select_name`' if from.blank? 

    find(:xpath, "//md-select[@name='#{from}']").click 
    find(:xpath, "//md-select-menu/md-content/md-option/div[text()='#{name}']").click 
end 

現在我們可以在RSpec中使用它:

md_select select_value, from: 'select_name'