创建了一个在本地通过的测试用例,然后在浏览器堆栈中运行时失败。根本原因是未单击元素。当我在本地运行此元素时,总是单击该元素。使用capybara,rspec和ruby编写测试。测试失败的原因是下一步是单击一个元素。由于从不单击下拉菜单,因此找不到元素,它位于下拉菜单中。
这是错误的图片
我尝试了几种不同的单击方法,这些方法可以在本地使用,但无法解决问题。在Mojave 73版OSX Chrome上运行。
我尝试过的一些代码:
def language_dropdown
find('div', id:'user_locale_chzn').click
end
def language_dropdown
within(:css, "div#user_locale_chzn") do
find('a', class: 'chzn-single').trigger(:click)
end
end
def language_dropdown
within(:css, "div#user_locale_chzn") do
locale = find('a', class: 'chzn-single')
execute_script("arguments[0].click();", locale)
end
end
我希望单击语言下拉菜单以扩展选项,以便测试可以继续运行,但这仅在本地发生,并且再次在浏览器堆栈上不起作用。