问题标签 [capybara-webkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
276 浏览

libpng - Capybara-webkit QtGui 需要 29.0.0 或更高版本

嗨,我正在尝试对 capybara-webkit 进行一些基本的处理。当我尝试包含 Capybara::DSL 时,出现以下错误

dyld:库未加载:/usr/local/lib/libpng15.15.dylib
引用自:/usr/local/lib/QtGui.framework/Versions/4/QtGui
原因:库版本不兼容:QtGui 需要版本 29.0.0 或稍后,但 libpng15.15.dylib 提供版本 21.0.0 /Users/brian/.rvm/gems/ruby-1.9.3-p374@rails3211/gems/capybara-webkit-0.14.2/lib/capybara/webkit/connection .rb:95:in `initialize': 无法分配请求的地址 - connect(2) (Errno::EADDRNOTAVAIL)

任何人都可以帮忙吗?使困惑。谢谢

0 投票
1 回答
231 浏览

ruby - 测试与字段关联的错误文本

在 Capybara + Webkit + Ruby 1.9.3 中,我有以下 HTML

当特定字段出现错误时,simple_form 会生成以下内容。我在“获取”错误文本跨度时遇到了麻烦,并且知道我肯定有与“标题”相关联的那个,而不是另一个可能也有错误的字段。

(当然还有许多其他领域!)

我想测试 Title 实际上是必需的,当用户留空并单击提交按钮时,错误消息“不能为空”存在。除了调整 simple_form 来包裹整个事物之外,有没有办法简单地找到标签,然后转到 DOM 中的下一个元素,看看它是否是一个包含“不能为空白”内容的跨度?

0 投票
1 回答
749 浏览

javascript - 当将 capybara-webkit 与加载外部脚本的页面一起使用时,Rspec 会定期挂起 async = true

我正在开发一个使用用户语音的应用程序。用户语音片段

此 javascript 加载在所有页面上。运行rake spec时运行会定期挂起。当我删除用户语音片段时,所有测试都运行顺利。我已尝试设置Capybara.javascript_driver = :webkit_debug,但没有看到用户语音的响应。当我设置时,page.driver.browser.timeout我可以看到来自 uservoice 的 0 响应,并且规范将因超时错误而失败。

还有其他人遇到这个问题吗?

0 投票
0 回答
460 浏览

ember.js - 使用 cucumber 和 capybara-webkit 测试 ember.js 应用程序无法运行 ember 代码

尝试使用 Cucumber 和 Capybara-webkit 测试 Ember 应用程序以运行 javascript。Ember 代码在常规浏览器中运行,并生成欢迎消息。

我创建了一个 Cucumber 功能,它查找由 Ember 代码生成的欢迎消息,但它没有显示出来。我已经转储了“page.body”以查看那里有什么,但什么也没有。

我添加了一个

它出现了,所以我知道 javascript 正在运行。

谢谢!

0 投票
0 回答
588 浏览

ruby - 使用 capybara-webkit 解析元素文本

我是 Ruby 和 Capybara 的新手,我正在尝试使用 capybara-webkit 来抓取网站。我感兴趣的所有数据都位于td具有某些属性的标签中。

form我正在查看的特定表单元素在哪里,以下代码有效:

td我感兴趣的所有元素的内容都被正确打印出来了。但是,当我尝试使用正则表达式解析文本时:

...突然只有第一个td元素被读取/解析。我什至尝试将每个td.text值推入一个数组以供以后解析,但同样的事情发生了。我什至尝试过克隆td.text字符串并对其进行操作——不走运。页面上似乎没有任何会更改 HTML 元素的超时。完全不知道是什么原因造成的。

有什么想法吗?

0 投票
2 回答
2735 浏览

ruby - 如何使用 Capybara/Nokogiri 在文档中找到具有 .foo 类的第 n 个元素

我试图在文档中找到具有特殊类的第 n 个元素。这些元素不一定是同一父级的子级。所以例如

我想找到具有 class 的第一个、第二个或第三个元素.foo

我试过了

哪些错误Capybara::Ambiguous: Ambiguous match, found 3 elements matching css ".foo"

然后我尝试了

效果很好,只是它似乎不像 Capybarasfind那样等待这么短的时间,这是我需要的,因为 HTML 实际上是从 ajax 数据生成的。那么如何用 find 正确地做到这一点呢?

0 投票
2 回答
5145 浏览

ruby-on-rails - Capybara webkit 的数据库清理器问题

我正在使用 Cucumber 编写我的集成测试和Database Cleaner来保持我的数据库清洁。一切都完美无缺,因为我的测试不需要 Javascript。

我可以使用Capybara webkit使这些最后的测试通过,但是我的数据库根本没有被清理。

这是我的features/support/env.rb文件:

我尝试了类似的方法检查 Capybara 使用了哪个驱动程序,但它没有用。我也尝试了这篇文章第三部分中提到的黑客,但没有任何效果......

我真的不知道如何实现这一点,任何帮助将不胜感激。

提前致谢。

0 投票
2 回答
826 浏览

ruby-on-rails - 在 Rails 集成测试期间未调用 jQuery document.ready

对于严重依赖 javacript 的页面,我有一个集成测试失败。相同的页面在浏览器中运行得很好。将测试简化到最低限度,我发现仅测试页面加载后由 javascript 添加的选择器的存在会失败。

在预编译测试资产并使用 save_and_open_page 后,我发现 jQuery 就绪事件的处理程序在集成测试期间没有运行。

我没有找到任何关于这个问题的参考资料,所以我想我做错了什么。谁能帮我解决这个问题?

我正在使用 rails 3.2.11、RSpec 2.13.0、Capybara 2.0.3 和 capybara-webkit 0.14.2

0 投票
1 回答
2062 浏览

ruby-on-rails - Capybara-Webkit:page.should have_content() 没有实现?

我最近尝试使用:

查询页面并查看页面上是否存在文本。

这适用于默认的 Capybara 驱动程序,但在将 javascript 驱动程序设置为capybara-webkit并再次运行测试后,我得到:

我正在使用 javascript 驱动程序,因为我也在使用 AngularJS 来填充我的数据。

我的问题:

  1. have_content() 和 page.has_content?() 没有在capybara-webkit中实现吗?
  2. 问题的根源可能是什么?
0 投票
1 回答
1121 浏览

javascript - $.ajax 删除请求未在 capybara-webkit 中发送数据参数

当我通过 capybara-webkit 执行它们时,我发现我的 ajax DELETE 请求没有向控制器发送数据参数。但是,当我使用 selenium 运行测试套件时,确实会发送数据参数(并且测试通过)。我的代码如下所示:

任何想法为什么这在 capybara-webkit 中失败?