ruby-on-rails – Capybara选择(“单选按钮”)无效
发布时间:2020-12-17 03:06:27 所属栏目:百科 来源:网络整理
导读:我的观点快照: %= form_for @request do |f| % div class="form-group" %= f.radio_button(:item,"Snow/waterproof shell (upper)") % %= f.label(:item,"Snow/waterproof shell (upper)") % /br %= f.radio_button(:item,"Headlamp") % %= f.label(:item,"
我的观点快照:
<%= form_for @request do |f| %> <div class="form-group"> <%= f.radio_button(:item,"Snow/waterproof shell (upper)") %> <%= f.label(:item,"Snow/waterproof shell (upper)") %> </br> <%= f.radio_button(:item,"Headlamp") %> <%= f.label(:item,"Headlamp") %> </div> 然而,在我的Rspec集成测试文件(spec / requests / requests_spec.rb)上,当我写的时(请注意,选择单选按钮是用户从列表中请求项目的表单的一部分,并且测试是针对结果页面的提交后,应指明用户请求的项目).我正在使用gem’rspec-rails’,’2.13.1′ describe "Requests" do subject { page } describe "new request" do before { visit root_path } describe "with valid information" do before do choose("Snow/waterproof shell (upper)") click_button submit end it { should have_content("Snow/waterproof shell (upper)") end end end 我总是得到错误: ←[31mFailure/Error:←[0m ←[31mchoose("Snow/waterproof shell (upper)")←[0m ←[31mCapybara::ElementNotFound←[0m: ←[31mUnable to find radio button "Snow/waterproof shell (upper)"←[0m ←[36m # ./spec/requests/requests_spec.rb:24:in `block (4 levels) in <top (required)>'←[0m 如果我尝试选择(“头灯”)或任何其他选项,也一样.聪明的人有什么想法?这似乎很容易…… 解决方法
我曾多次遇到过这个问题.如果您根据dom中的ID选择表单元素,那么它更可靠:
before do choose 'request_item_headlamp' click_button submit end 如果不查看其他单选按钮会出现什么ID轨道,我无法分辨.只需在chrome中右键单击它,检查元素,然后将元素ID剪切并粘贴到测试中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |