首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >水豚选择(“单选按钮”)不工作

水豚选择(“单选按钮”)不工作
EN

Stack Overflow用户
提问于 2014-01-13 06:22:08
回答 2查看 8.2K关注 0票数 4

我的观点的快照:

代码语言:javascript
复制
<%= 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‘

代码语言:javascript
复制
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

我总是会犯错误:

代码语言:javascript
复制
←[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

同样,如果我尝试选择(“头灯”)或任何其他选项。聪明的人有什么想法吗?这似乎是很容易的事情..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-14 22:59:11

这个问题我已经做过很多次了。如果您在dom中根据表单元素的ID选择表单元素,那么它要可靠得多:

代码语言:javascript
复制
before do 
  choose 'request_item_headlamp'
  click_button submit
end

我看不出ID rails会为另一个单选按钮带来什么。只需在chrome中右键单击它,检查元素,然后将元素ID剪切并粘贴到测试中。

票数 7
EN

Stack Overflow用户

发布于 2017-12-01 15:56:08

我怀疑有时当choose无法可靠地检查单选按钮时,可能是因为动画正在进行中。

如果您怀疑这会导致您的choose调用不可靠,请尝试禁用动画,例如,在您的测试环境中将其执行时间设置为0秒。或者,在测试中构建一个等待期,以便动画完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21085057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档