草庐IT

Capybara-webkit

全部标签

ruby - 从 Cucumber/Capybara 测试中执行 JavaScript

似乎Selenium有一个名为JavascriptExecutor的功能,它可以直接在页面上执行JavaScript。然而,我的Cucumber/Capybara测试似乎没有这样的东西。如何从我的Cucumber测试中执行任意JavaScript? 最佳答案 Capybara有两种执行javascript的方法#execute_script和#evaluate_script。两者都可以在以下位置找到:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Seleni

ruby - 从 Ruby 中的 Capybara 运行时,webkit_server 会定期挂起

我遇到了一个问题,当访问一个URL时,带有Capybara和capybara-webkit的webkit_server实例在headless连接到本地Xvfb屏幕时挂起。这似乎是在反复访问不同的URL并执行查找程序几分钟后发生的。(我将capybara用于普通Ruby中的屏幕抓取应用程序,而不是用于测试。)我已经确认网站挂起时仍然可以访问(例如,通过命令行上的curl或wget)。我还尝试将调用访问和后续查找器的Ruby代码包装在超时block中,以便在等待60秒后访问新的URL,但是在第一次发生这种情况后任何visit()尝试都会失败。解决此问题的唯一方法是同时终止调用Capybar

ruby-on-rails - capybara :查找(元素)使用选择器来定位复杂的属性名称

使用cucumber和capybara测试Rails应用。假设我无法更改标记,我可以使用capybara在充满类似td和select的页面中选择以下选择吗?LanguagesCommunication这似乎失败了(我假设是因为嵌套的“[”和“]”)。find("select[name=attributes[ruby][category]]")转义也不行。想法? 最佳答案 您可以尝试find('select',:name=>'attributes[ruby][category]')或find_field('attributes[rub

ruby - capybara - 使用 xPath 查找正在离开范围内

我正在尝试使用默认的Rails日期、时间和日期时间字段通过Capybara构建一个日期选择器。我正在使用within方法来查找该字段的选择框,但是当我使用xPath查找正确的框时,它会离开within范围并在元素的页面。这是我使用的代码。我正在测试的页面有2个日期时间字段,但由于这个错误,我只能让它更改第一个。目前我有一个div容器,其id包含日期时间字段,但我确实计划切换代码以通过标签查找。moduleMarketronmoduleDateTimedefselect_date(field,options={})date_parse=Date.parse(options[:with])

ruby-on-rails - 无法在 Rails 4 中使用 bundle install 命令安装 capybara-webkit

在我的Rails4应用程序中执行命令bundleinstall时出现以下错误。>ruby-vruby2.1.8p440(2015-12-16revision53160)[i386-mingw32]>rails--versionCouldnotfindgem'capybara-webkitx86-mingw32'inanyofthegemsourceslistedinyourGemfileoravailableonthismachine.Run`bundleinstall`toinstallmissinggems.我的Gemfile........group:development,:l

ruby - 获取 capybara 中元素的所有类?

使用capybara,有没有办法获取元素的所有css类?查看文档,我看不出有任何简单的方法可以做到这一点。此外,给定一个元素elem和一个css类someclass,elem.has_css?('.someclass')应该等同于jquery$(elem).hasClass('someclass')?此特定测试使用Selenium,因为它涉及javascript。 最佳答案 Element#[]对我来说看起来很简单:find('div')[:class]Also,givenanelement,elem,andacssclass,so

ruby - Cucumber - Capybara 在表格行中搜索文本

我正在尝试在单个表格行中搜索我的cucumber测试。我将每一行的格式设置如下:%tr%td=title%td=complete%td=goal我希望在具有给定标题的行内进行搜索,并检查目标有没有简单的方法可以做到这一点? 最佳答案 对于遇到这个问题的其他人,我认为更好的方法是:find('tr',text:'Mytitle').shouldhave_content(goal)这样您就不会在不需要时添加title属性 关于ruby-Cucumber-Capybara在表格行中搜索文本,我

ruby - 如何用 Capybara 关闭浏览器?

当我使用(使用:selenium驱动程序)带有Capybara的多个浏览器来测试我的前端时,我遇到了这种情况。当不需要它们时,如何使用Capybara关闭其中一些? 最佳答案 还有:page.driver.browser.close绝对适用于Selenium,尽管看起来可能不适用于capybara-webkit. 关于ruby-如何用Capybara关闭浏览器?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

ruby - 如何运行独立的 Capybara 测试?

我正在尝试针对远程服务器运行测试。即:require'rubygems'require'capybara'require'capybara/dsl'Capybara.default_driver=:seleniumCapybara.app_host='http://www.google.com'moduleMyCapybaraTestincludeCapybaradeftest_googlevisit('/')endend问题是,你如何运行它? 最佳答案 保存require'rubygems'require'capybara'req

ruby - 使用 Capybara 下载 CSV

对于rspec测试,我需要下载CSV文件格式的报告并验证给定的信息。当点击一个按钮时,报告从网页生成。浏览器保存对话框打开,提供打开或保存选项。如何使用rspec和Capybara获取要保存到计算机的文件? 最佳答案 我一直在为此使用MiniTest::Spec并使用webkit-driver完成它,但它应该毫无问题地转换为RSpec,因为它基本上只是capybara的功能:scenario"downloadoverview"dowithin"aside#actions"doclick_link"Downloadoverview"e