我可以在RoR RSpec +水豚做出選擇嗎? 通常我使用:角質材料選擇水豚
select 'something', from: 'select_name'
但對角的md-select
是不起作用。 水豚顯示錯誤:
Capybara::ElementNotFound: Unable to find select box "select_id"
我可以在RoR RSpec +水豚做出選擇嗎? 通常我使用:角質材料選擇水豚
select 'something', from: 'select_name'
但對角的md-select
是不起作用。 水豚顯示錯誤:
Capybara::ElementNotFound: Unable to find select box "select_id"
出於某種原因,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'
我簡單的添加自定義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'
我一直在測試使用RSpec /水豚的角度材質接口,而現在這樣,我做了一個capybara-angular-material gem實現了一個DSL 。我使用的是poltergeist driver.
參見:
它的工作原理是這樣的:
md_select('Something', from: 'select_label')