我需要fill_in一个没有id的textarea。检查后:你知道怎么做了吗? 最佳答案 有不同的定位技术和方法可以到达所需的元素。stock-description-input类看起来是一个值得依赖的好东西。Usesend_keys()填充区域:text_area=first(:css,'textarea.stock-description-input').nativetext_area.send_keys('Test') 关于ruby-capybara:如何在没有'id'的情况下填充
我们在页面上有一个快速搜索字段,它通过AJAX调用过滤先前搜索的结果列表。我们尝试了几种方法来检查更改列表的内容。开头有一个列表,例如这个:Manager...Slave...快速搜索后,整个搜索search-list将被AJAX响应替换,第二个entrydiv被删除。我们正在尝试使用以下语句检查此条件:page.find('.search-list.job-title').map(&:text)=~['Manager']但它只能看到发出AJAX请求之前的状态。这可能是由于没有等待AJAX请求完成就立即检查了条件。我们尝试了几种方法,例如设置Selenium驱动程序的resynchro
我有一个capybaramonkey补丁来处理jquery-ui,它在Ubuntu上运行得很好......虽然当移动到Windows时我得到以下错误(所有依赖性gem都已成功安装):capybara::dsl::module的未定义方法'delegate'发生这种情况的代码行是:moduleCapybara::DSLdelegate:datepick,:datetimepick,:timepick,to::pageend有什么想法吗?有点迷失了为什么仅通过切换操作系统就会显示此错误... 最佳答案 在标准的ruby中,委托(de
我是测试新手,所以如果我的方法有问题,请随时纠正我。我正在使用Minitest测试Rails4应用程序。由于我在许多页面中包含JS,因此我使用Capybara在我的测试中使用JS驱动程序,并且能够触发JS事件并测试预期结果。我的困惑开始了,因为有很多方法可以包含capybara。此外,我发现“正常的”断言式语法不适用于Capybara。在这里,我的困惑达到了顶峰。在我的研究过程中,我发现有一个Spec-styleDSLforCapybara以及其他一些。现在我使用gem'minitest-rails-capybara'(Github),并尝试使用此列表中的方法/DSL:RubyDoc我
错误:Installingcapybara-webkit1.11.1withnativeextensionsGem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension.currentdirectory:/usr/local/rvm/gems/ruby-2.3.1/gems/capybara-webkit-1.11.1/usr/local/rvm/rubies/ruby-2.3.1/bin/ruby-r./siteconf20160607-31306-ngtugv.rbextconf.rb***extconf.rbfailed**
我有一个用户表,其中列出了用户的ID、姓名、电子邮件和用户名。我试图做的是验证特定条目是否在该表中。基本上我想做的是找到ID=22的行,然后验证name=JohnSmith、email=john@smith.com和username=jsmith。能够设置如下所示。我不明白的是一些事情......如何获取包含特定文本的行,即I.E.即user.id=22。获得该行后,如何使用它获取每个元素。我以为我可以做一种for循环,但不知道如何设置has_selector?条件。(以下为伪代码)page.all('tr').eachdo|tr|nextunlesstr.has_selector?(
对于我的Rails项目,我想编写非理想条件下的测试,例如缺少互联网连接或超时。例如,我正在使用gem联系API,如果我的应用程序和外部API之间存在连接问题,我想确保正确处理错误。我已经可以通过用VCR制作夹具并从“盒式磁带”中删除响应来做到这一点。但是,这有缺点:必须手动完成。如果我正在与一个团队(我就是)一起工作,那么磁带就不会被忽略。我怎样才能简单地在我的RSpec测试中创建一个阻止外部连接的block,模拟缺少互联网连接? 最佳答案 根据这篇思想机器人文章https://robots.thoughtbot.com/how-t
我需要获取元素的边框样式。我尝试了以下代码:sample=page.execute_script("varx=window.document.querySelector('#{path}');a=window.getComputedStyle(x,null).getPropertyValue('border');returna;")putssample它正在打印null。(注意:元素的边框是实心的) 最佳答案 根据您之前的问题,我假设您正在使用selenium-webdriver。nativeselenium-webdriver元素
我正在测试Rails3.2.6应用。是否有可能做出一个Rspec/Capybara断言来表达,例如:“如果我要求查找1970年至1990年之间的电影,该页面应包含这些日期之间的电影:”例如it"shouldshowfilmsinthethechosendaterange"dopage.shouldhave_selector'.year',#thensomethingliketext:range(1970..1990)end相反,我可以检查没有“.year”元素包含不在该范围内的日期吗?感谢您的帮助。 最佳答案 将block传递给ha
我正在尝试使用Capybara来测试列表是否包含正确的项目。例如:1Hamster2Gerbil此列表应包含ID1和2,但不应包含ID3。我想要的是这样的:ids=?#getthecontentsofeachrow'sfirstcellids.shouldinclude(1)ids.shouldinclude(2)ids.should_notinclude(3)我该怎么做?我用我发现的几个不令人满意的解决方案来回答,但我希望看到更好的解决方案。 最佳答案 这里是一个稍微简化的表达式:rodent_ids=page.all('tabl