我在 SitePrism 页面中定义了以下元素:
element :type, "select[id='type']"
elements :type_options, "select[id='type'] option"
在我的黄瓜步骤定义中,我有以下代码可以根据元素值从选择框中选择一个项目:
@app.new.type_options.each {|name| name.click if name.text.upcase == value.upcase}
我不是很喜欢这个实现,但是当在 chrome 中运行 Capybara 时它确实可以完美运行,但是当我无头运行它时会失败,所以我认为必须有一种替代/更好的方法来选择下拉项目。
理想情况下,我希望能够做类似的事情@app.new_r.r_type.select 'value'
,但我不知道如何在 SitePrism 中做到这一点。
所以,我的第一个问题是,任何人都可以推荐一种优雅的方式来根据 SitePrism 的值从下拉列表中选择一个项目吗?
我的第二个问题是,知道为什么上面的代码在无头运行时会失败吗?