问题标签 [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 投票
4 回答
1912 浏览

javascript - 当页面上出现 JavaScript 错误时,如何使用 Capybara-Webkit 在功能测试中失败一步?

我正在使用 Cucumber、Capybara 和 Capybara-webkit 在我的 Ruby on Rails 应用程序中测试不同的场景。

有没有一种方法可以在场景运行且测试失败时检测页面上的任何 JavaScript 错误?作为自动化测试运行的一部分,我们正在使用这些测试来确保我们不会在更改之间破坏功能(包括 JavaScript)。

我可以在测试输出中看到失败,但它并没有通过测试:

谢谢!

更新:我发现的一种方法是有一个步骤来尝试执行一些 JavaScript,只有在以前没有发生错误的情况下才有可能。在这种情况下,我会收到这样的错误:

有没有更好的办法?

0 投票
1 回答
440 浏览

ruby-on-rails - Rails 测试离线应用

有谁知道如何使用黄瓜或茉莉花测试应用程序的离线部分?

目前我们的团队正在使用backbonejs、localStorage、backbone-queues库开发应用程序,使用户可以在现代浏览器中离线工作并通过ajax请求同步数据。

但是我们需要使用像黄瓜步骤这样的用户场景来测试我们的应用程序,因为我们需要与客户阐明我们所有的开发步骤。

我们在 cucumber/capybara-webkit gem 中遇到了下一个问题。它不支持像 localStorage 这样的 html5 功能(好吧,我们从 github 中创建了一个人的分支,并将其与最新的 capybara-webkit 源合并)。但我们遇到了另一个问题。如何模拟重新打开/关闭浏览器操作或如何为每个场景清理 localStorage。现在场景使用相同的localStorage。

可能有人在此类测试应用程序方面有经验。

提前致谢!

0 投票
1 回答
1071 浏览

ruby-on-rails-3 - 无法使用 Selenium、Capybara-webkit 进行测试;机架测试工作正常

我有这个集成规范:

这非常适用于RackTest,但是当我将规范更改为:

我的测试中断,给了我500 Internal Server这样的错误:

在此处输入图像描述

无论如何,我似乎无法找到堆栈跟踪,但我有理由确定这nil:NilClass应该是deal前面定义的 let 变量。

我无法理解的是为什么这根本不是问题RackTest......我在这里缺少一些额外的配置吗?

我正在使用RSpec 2.8.0Rails 3.1.1。如果您需要查看任何其他文件,请告诉我。

0 投票
1 回答
1291 浏览

ruby - 由于 libpng 版本不兼容,在 MacOS X 上使用 capybara-webkit(实际上是 QtWebKit webkit_server)时出错

尝试使用 capybara-webkit 驱动程序执行任何 capybara 测试时出现以下错误:

dyld:库未加载:/usr/X11/lib/libpng15.15.dylib 引用自:/usr/local/Cellar/qt/4.8.0/lib/QtGui.framework/Versions/4/QtGui 原因:库版本不兼容: QtGui 需要 20.0.0 或更高版本,但 libpng15.15.dylib 提供 17.0.0 版本 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib /capybara/driver/webkit/browser.rb:200:in initialize': Can't assign requested address - connect(2) (Errno::EADDRNOTAVAIL) from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:200:in open' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver /webkit/browser.rb:200:in attempt_connect' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:194:in block in connect' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/util/timeout.rb :13:in timeout' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:193:in connect' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit/browser.rb:17:in initialize' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit.rb:25:in 新的'来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/driver/webkit.rb:25:in initialize' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/webkit.rb:5:in new' 来自 /Users/ chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-webkit-0.9.0/lib/capybara/webkit.rb:5:in block in <top (required)>' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:61:in call'来自/Users/chris/.rvm/gems/ruby -1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:61:in driver' from /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara-1.1.2/lib/capybara/session.rb:157:in visit' 来自 /Users/chris/.rvm/gems/ruby-1.9.2-p290/gems/capybara -1.1.2/lib/capybara/dsl.rb:161:在“访问”中

我知道问题是由于它似乎试图使用的 libpng 版本,但我不知道如何解决它。我已经下载了最新的 libpng 源并对其进行了编译,但我假设在 capybara-webkit gem 安装中有一些东西,其中 webkit 二进制文件与堆栈跟踪中显示的文件或其他东西相关联。我只是不确定如何解决它。任何指导表示赞赏。

我正在使用 Max OS X 10.7、Ruby 1.9.2、capybara 版本 1.1.2 和 capybara-webkit 0.9.0。

编辑:回答评论中的问题 - 是的,Qt 是使用自制软件安装的。不过,我不确定我会做些什么不同的事情——你是不是建议用 LD_LIBRARY_PATH 做点什么?

0 投票
1 回答
5210 浏览

ruby-on-rails-3 - Rails3 form_for hidden_​​field 未定义方法“合并”

我尝试在 form_for 中放置一个 hidden_​​field 在黄瓜中因 ActionView 帮助程序错误而崩溃。还有一些关于 FixNum 的东西,因为我还没有深入研究源代码,所以这让我无法理解。我的价格控制器显示了这一点:

我想用这个 hidden_​​field 建立价格和商品之间的联系:

查看了 form_for api,上面应该可以工作。阅读有关stackoveflow的其他回复,我已将 hidden_​​field 放在表单中自己的 div 中,添加了 Hidden_​​field_tag,并将其放置在提交行之前的操作 div 中。查看合并消息,我想它不喜欢这条线,但对我来说似乎没问题。商品id字段是匹配字段,sam

0 投票
1 回答
1013 浏览

ruby-on-rails - rubymine 错误 - 在任何来源中都找不到 capybara-webkit-0.9.0

当我尝试在 ruby​​Mine 中运行我的应用程序时,我收到有关 capybara-webkit 的错误 -

但是通过命令行运行应用程序时我没有得到它。

似乎 ruby​​Mine 即使在我运行开发时也在检查所有环境,并且由于某种原因它与这个 gem 有问题。

我的 Gemfile 包括:...

...

我正在与另一位开发人员共享代码库。我用rubyMine,他不用。我们需要 capybara-webkit 或类似的 rspec 测试。

注意:
Rails 3.1.3
Ruby 1.9.2-p290

我尝试从宝石管理器 ruby​​Mine 中手动安装 gem,但仍然出现错误:

0 投票
0 回答
1367 浏览

devise - omn​​iauth-facebook、devise、capybara、capybara-mechanize、vcr、rpsec 集成测试的简单示例?

我正在为omniauth-facebook、devise、capybara、capybara-mechanize(可能带有VCR)和rpsec集成测试寻找一个简单的例子......

Capybara 无法连接到外部网站。所以需要水豚机械化。也许录像机可以加快速度。此链接描述了如何获取测试 facebook 用户:https ://developers.facebook.com/docs/test_users/

如omniauth 文档中所述,使用mock 可以很好地测试模型和控制器的逻辑。这需要 specs/helpers/omniauth.rb 中的以下代码,并在 rspec 集成测试的 :before 中调用 set_omniauth。

但是,如果有一个真正的针对 facebook 服务器运行的集成测试,那就太好了。当然,你会想要标记这样慢的测试,这样它们就不会通过警卫和默认的 rake 任务运行。

0 投票
2 回答
4667 浏览

rubymine - RubyMine 报告在您的系统上未找到 Xvfb (Headless::Exception)

使用 Rubymine 4.0.1 运行我的 capybara-webkit 测试时出现以下错误。我可以从命令行很好地运行这些测试。

0 投票
2 回答
1150 浏览

ruby-on-rails - Capybara Webkit 运行时警告:类在两者中都实现

当我运行时,我从 webkit 收到大量警告rspec。我正在使用capybara-webkitqtbrew. 我当然很想解决这些问题。谢谢你的帮助。

像这样的警告:“在两者中都实施”

编辑:我只对涉及qt安装 from的答案感兴趣brew。谢谢。

0 投票
3 回答
2018 浏览

javascript - 在 rails 中使用 capybara-webkit 模拟按键

我正在使用 capybara-webkit 来测试使用 jquery-tokeninput (https://github.com/loopj/jquery-tokeninput) 填充字段的表单。问题是使用 fill_in 不适用于此。反正有没有自动测试这个?提前致谢。