我正在使用RSpec和Capybara进行Ruby on Rails测试 .
我的Rails应用程序已针对多种不同语言(英语,德语等)进行了本地化 .
例如,我希望Capybara提交表单,但显然不能使用其值来选择它,因为值会根据所选语言而改变 .
这在我的情况下不起作用:
click_button("Create my account")
有没有办法简单地选择Capybara页面上的第一个 input[type="submit"] 元素?
input[type="submit"]
谢谢你的帮助 .
您可以为按钮分配ID并单击它
click_button("button_id")
资料来源:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Actions#click_button-instance_method
我会说:
find('input[type="submit"]').first.click
但是给它一个类或一个id,它更安全 .
简单方法:
first('input[type="submit"]').click
您还可以使用css选择器缩小@ apneadiving的答案:
find(“#my_form input [type ='submit']”) . 点击
这样您就不必修改HTML以匹配您的测试 .
4 回答
您可以为按钮分配ID并单击它
资料来源:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Actions#click_button-instance_method
我会说:
但是给它一个类或一个id,它更安全 .
简单方法:
您还可以使用css选择器缩小@ apneadiving的答案:
find(“#my_form input [type ='submit']”) . 点击
这样您就不必修改HTML以匹配您的测试 .