Questions tagged «capybara»

Capybara是用于Rack应用程序(例如Rails,Sinatra和Merb)的Web应用程序测试框架。

4
如何使用水豚检查表单字段是否正确填充?
我有一个带有适当标签的字段,可以毫无问题地用水豚来填充: fill_in 'Your name', with: 'John' 我想先检查一下它具有的值,然后再弄清楚。 如果我fill_in在以下行之后添加: find_field('Your name').should have_content('John') 该测试失败了,尽管正如我通过保存页面验证的那样,之前的填充工作正常。 我想念什么?
145 forms  rspec  capybara 


13
如何选中水豚中的复选框?
我正在使用Rspec和Capybara。 如何编写检查步骤checkbox?我已经尝试过check通过价值,但找不到我的checkbox。我不确定该怎么办,因为我实际上拥有相同的ID,但值不同 这是代码: <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="61" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="62" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="63" name="cityID">

7
升级到Capybara 2.0后,如何单击项目列表中的第一个链接?
在这种情况下,如何单击第一个链接: <div class="item"> <a href="/agree/">Agree</a> </div> <div class="item"> <a href="/agree/">Agree</a> </div> within ".item" do first(:link, "Agree").click end 我得到这个错误: Capybara::Ambiguous: Ambiguous match, found 2 elements matching css ".item" 没有,within我得到这个错误: Failure/Error: first(:link, "Agree").click NoMethodError: undefined method `click' for nil:NilClass
125 ruby  rspec  capybara 

9
如何使用水豚下拉菜单中选择选项
我正在尝试使用Capybara(2.1.0)从下拉菜单中选择一个项目。 我想按数字进行选择(即选择第二,第三等选项)。 我疯狂地尝试了各种各样的东西,但没有运气,谷歌搜索。 我可以通过使用值来选择它: find("option[value='4c430d62-f1ba-474f-8e8a-4452c55ea0a8']").click 但是我不想使用b / c方法,该值会发生变化,并使我的测试变脆。 下拉菜单的HTML为: <td class="value"> <select name="organizationSelect" id="organizationSelect" class="required"> <option value="NULL">Choose...</option> <option value="4c430d62-f1ba-474f-8e8a-4452c55ea0a8"> Institution1</option> <option value="e1a4efa7-352d-410a-957e-35c8a3b92944"> Institution / test</option> </select> </td> 我也尝试过这个: option = find(:xpath, "//*[@id='organizationSelect']/option[2]").text select(option, :from => organizationSelect) 但这会导致此错误: Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous) 那么,如何从下拉列表中选择第一个,第二个,第三个等选项(使用Capybara)?

7
错误:安装capybara-webkit时出错:
有关如何修复的任何建议? gem install capybara-webkit -v '0.11.0' Building native extensions. This could take a while... ERROR: Error installing capybara-webkit: ERROR: Failed to build gem native extension. /home/durrantm/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb sh: qmake: not found Gem files will remain installed in /home/durrantm/.rvm/gems/ruby-1.9.3-p194/gems/capybara-webkit-0.11.0 for inspection. Results logged to /home/durrantm/.rvm/gems/ruby-1.9.3-p194/gems/capybara-webkit-0.11.0/./gem_make.out

6
如何通过匹配水豚中元素的确切文本来查找元素
我在HTML中有以下两个元素 <a href="/berlin" >Berlin</a> <a href="/berlin" >Berlin Germany </a> 我正在尝试通过使用以下Capybara方法来查找元素 find("a", :text => "berlin") 上面将返回两个元素,因为它们都包含文本柏林。 有没有办法匹配水豚中的确切文本?
102 ruby  regex  capybara 

9
水豚歧义解决
如何解决水豚的歧义?由于某些原因,我需要页面中具有相同值的链接,但由于收到错误,因此无法创建测试 Failure/Error: click_link("#tag1") Capybara::Ambiguous: Ambiguous match, found 2 elements matching link "#tag1" 我之所以无法避免,是因为设计。我正在尝试使用页面右侧的tweets / tags和页面左侧的tags重新创建Twitter页面。因此,不可避免的是,相同的链接页面会显示在同一页面上。

5
如何在水豚中使用find_in(如果可能)
我想执行以下操作,但由于fill_in的本质,它希望将定位符作为第一个参数。 find(:css, "input[id$='donation_pledge_hundreds']").fill_in :with => "10" 我也尝试过 element = find(:css, "input[id$='donation_pledge_hundreds']") fill_in element.<method> , :with => "10" 但是没有方法可以返回任何数据来标识fill_in的元素。 关于通过正则表达式查找字段以与fill_in一起使用的最佳方法的任何想法?
90 find  capybara 

5
在导轨中使用RSpec和Capybara时未定义的方法'visit'
我无法让水豚与rspec一起工作。它给了我这个错误: undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x16529f8 @example=nil> 我知道有很多关于此的帖子,但是没有解决方案对我有用。其中大多数涉及的规范不在/ spec / features中-属于我的。 首先是错误: $bundle exec rspec spec F Failures: 1) security signs users in Failure/Error: visit "/sessions/new" NoMethodError: undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x16529f8 @example=nil> # ./spec/features/security_spec.rb:4:in `(root)' Finished in 0.006 seconds 1 example, 1 failure Failed examples: rspec ./spec/features/security_spec.rb:3 # security …

4
水豚:如何通过其ID填写输入字段
我有这个: <input class="string optional" id="course_group_courses_attributes_2_name" name="course_group[courses_attributes][2][name]" placeholder="Lengua" size="15" type="text" /> </div> 如何通过ID填写该字段?
88 rspec  capybara 



6
如何使用带有正确错误消息的Capybara声明元素数量?
我知道在水豚,您可以执行以下操作: page.should have_css("ol li", :count => 2) 但是,假设该页面仅具有一个匹配元素,则该错误的描述性不是很高: 1) initial page load shows greetings Failure/Error: page.should have_css("ol li", :count => 2) expected css "ol li" to return something 除了这种晦涩的错误消息,还有一种方法可以编写断言,以使错误输出类似于“当匹配'ol li'时,预期:2,发现:1'”。显然,我可以针对这种行为自己制定自定义逻辑-我在问是否有一种方法可以“开箱即用”? 对于它的价值,我正在使用Selenium驱动程序和RSpec。
86 rspec  dsl  capybara 

8
如何在水豚中获得父节点?
我正在使用许多jQuery插件,这些插件通常会创建没有id或其他标识属性的DOM元素,而在Capybara中获取它们的唯一方法(例如单击)-首先获取其邻居(其祖先的另一个孩子) 。但是我什么都没找到,水豚支持这样的事情,例如: find('#some_button').parent.fill_in "Name:", :with => name ?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.