问题标签 [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.
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)
任何人都可以帮忙吗?使困惑。谢谢
ruby - 测试与字段关联的错误文本
在 Capybara + Webkit + Ruby 1.9.3 中,我有以下 HTML
当特定字段出现错误时,simple_form 会生成以下内容。我在“获取”错误文本跨度时遇到了麻烦,并且知道我肯定有与“标题”相关联的那个,而不是另一个可能也有错误的字段。
(当然还有许多其他领域!)
我想测试 Title 实际上是必需的,当用户留空并单击提交按钮时,错误消息“不能为空”存在。除了调整 simple_form 来包裹整个事物之外,有没有办法简单地找到标签,然后转到 DOM 中的下一个元素,看看它是否是一个包含“不能为空白”内容的跨度?
javascript - 当将 capybara-webkit 与加载外部脚本的页面一起使用时,Rspec 会定期挂起 async = true
我正在开发一个使用用户语音的应用程序。用户语音片段
此 javascript 加载在所有页面上。运行rake spec
时运行会定期挂起。当我删除用户语音片段时,所有测试都运行顺利。我已尝试设置Capybara.javascript_driver = :webkit_debug
,但没有看到用户语音的响应。当我设置时,page.driver.browser.timeout
我可以看到来自 uservoice 的 0 响应,并且规范将因超时错误而失败。
还有其他人遇到这个问题吗?
ember.js - 使用 cucumber 和 capybara-webkit 测试 ember.js 应用程序无法运行 ember 代码
尝试使用 Cucumber 和 Capybara-webkit 测试 Ember 应用程序以运行 javascript。Ember 代码在常规浏览器中运行,并生成欢迎消息。
我创建了一个 Cucumber 功能,它查找由 Ember 代码生成的欢迎消息,但它没有显示出来。我已经转储了“page.body”以查看那里有什么,但什么也没有。
我添加了一个
它出现了,所以我知道 javascript 正在运行。
谢谢!
ruby - 使用 capybara-webkit 解析元素文本
我是 Ruby 和 Capybara 的新手,我正在尝试使用 capybara-webkit 来抓取网站。我感兴趣的所有数据都位于td
具有某些属性的标签中。
form
我正在查看的特定表单元素在哪里,以下代码有效:
td
我感兴趣的所有元素的内容都被正确打印出来了。但是,当我尝试使用正则表达式解析文本时:
...突然只有第一个td
元素被读取/解析。我什至尝试将每个td.text
值推入一个数组以供以后解析,但同样的事情发生了。我什至尝试过克隆td.text
字符串并对其进行操作——不走运。页面上似乎没有任何会更改 HTML 元素的超时。完全不知道是什么原因造成的。
有什么想法吗?
ruby - 如何使用 Capybara/Nokogiri 在文档中找到具有 .foo 类的第 n 个元素
我试图在文档中找到具有特殊类的第 n 个元素。这些元素不一定是同一父级的子级。所以例如
我想找到具有 class 的第一个、第二个或第三个元素.foo
。
我试过了
哪些错误Capybara::Ambiguous: Ambiguous match, found 3 elements matching css ".foo"
然后我尝试了
效果很好,只是它似乎不像 Capybarasfind
那样等待这么短的时间,这是我需要的,因为 HTML 实际上是从 ajax 数据生成的。那么如何用 find 正确地做到这一点呢?
ruby-on-rails - Capybara webkit 的数据库清理器问题
我正在使用 Cucumber 编写我的集成测试和Database Cleaner来保持我的数据库清洁。一切都完美无缺,因为我的测试不需要 Javascript。
我可以使用Capybara webkit使这些最后的测试通过,但是我的数据库根本没有被清理。
这是我的features/support/env.rb文件:
我尝试了类似的方法来检查 Capybara 使用了哪个驱动程序,但它没有用。我也尝试了这篇文章第三部分中提到的黑客,但没有任何效果......
我真的不知道如何实现这一点,任何帮助将不胜感激。
提前致谢。
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
ruby-on-rails - Capybara-Webkit:page.should have_content() 没有实现?
我最近尝试使用:
查询页面并查看页面上是否存在文本。
这适用于默认的 Capybara 驱动程序,但在将 javascript 驱动程序设置为capybara-webkit并再次运行测试后,我得到:
我正在使用 javascript 驱动程序,因为我也在使用 AngularJS 来填充我的数据。
我的问题:
- have_content() 和 page.has_content?() 没有在capybara-webkit中实现吗?
- 问题的根源可能是什么?
javascript - $.ajax 删除请求未在 capybara-webkit 中发送数据参数
当我通过 capybara-webkit 执行它们时,我发现我的 ajax DELETE 请求没有向控制器发送数据参数。但是,当我使用 selenium 运行测试套件时,确实会发送数据参数(并且测试通过)。我的代码如下所示:
任何想法为什么这在 capybara-webkit 中失败?