Ruby on rails 带水豚的单选按钮的Rspec试验

Ruby on rails 带水豚的单选按钮的Rspec试验,ruby-on-rails,testing,capybara,rspec-rails,Ruby On Rails,Testing,Capybara,Rspec Rails,我在设置一个测试时遇到了问题,这个测试涉及到在Rspec中使用水豚选择一个单选按钮。所以,我尽可能地把问题隔离出来 我创建了一个包含3个单选按钮的非常简单的页面,我想通过选择第一个按钮来测试它 然而,我不断地得到错误 Failure/Error: choose('items_1', visible: false) Capybara::ElementNotFound: Unable to find radio button "items_1" 但两者都不起作用 也许很简单

我在设置一个测试时遇到了问题,这个测试涉及到在Rspec中使用水豚选择一个单选按钮。所以,我尽可能地把问题隔离出来

我创建了一个包含3个单选按钮的非常简单的页面,我想通过选择第一个按钮来测试它

然而,我不断地得到错误

Failure/Error: choose('items_1', visible: false) Capybara::ElementNotFound: Unable to find radio button "items_1" 但两者都不起作用

也许很简单的事情出了问题


提前感谢。

为什么要传递
可见:false
?Capybara不能与不可见的元素交互(就像用户不能)可见:false允许Capybara查找不可见的元素,而不是与它们交互。如果你的单选按钮没有出现在屏幕截图中,你需要看看为什么会出现这种情况,CSS等等。你对单选按钮应用了什么CSS,以及你使用了什么驱动程序。这是一个非常基本的要点,只使用上面显示的HTML,没有显示
choose('items_1')
的css。我猜在你的应用程序中访问“/choose”不会产生你声称的HTML——检查
page.HTML
如果你将要点复制到一个文件中,确保你安装了水豚和poltergeist gems,然后运行它应该运行的
ruby test\u choose.rb
,它不是规范,而是一个独立的ruby脚本。如果我没有,我就不知道你在做什么。你为什么要传递
可见:false
?Capybara不能与不可见的元素交互(就像用户不能)可见:false允许Capybara查找不可见的元素,而不是与它们交互。如果你的单选按钮没有出现在屏幕截图中,你需要看看为什么会出现这种情况,CSS等等。你对单选按钮应用了什么CSS,以及你使用了什么驱动程序。这是一个非常基本的要点,只使用上面显示的HTML,没有显示
choose('items_1')
的css。我猜在你的应用程序中访问“/choose”不会产生你声称的HTML——检查
page.HTML
如果你将要点复制到一个文件中,确保你安装了水豚和poltergeist gems,然后运行它应该运行的
ruby test\u choose.rb
,它不是规范,而是一个独立的ruby脚本。如果我不知道,我就不知道你在干什么。 <body> <h1>Choose</h1> <input type="radio" name="items" id="items_1" value="1" /> first item<br/> <input type="radio" name="items" id="items_2" value="2" /> second item<br/> <input type="radio" name="items" id="items_3" value="3" /> third item<br/> </body> require 'rails_helper' describe 'Radio button testing' do it 'selects the first radio button', :feature do visit '/choose' choose('items_1', visible: false) expect(page).to have_content('Choose') end end choose('items_1', visible: false) choose('#items_1', visible: false)