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

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

我遇到一个问题,当访问 URL 时,带有 Capybara 和 capybara-webkit 的 webkit_server 实例运行无头连接到本地 Xvfb 屏幕时挂起。它似乎是在反复访问不同的 URL 并执行查找程序几分钟后发生的。(我将 capybara 用于香草 Ruby 中的屏幕抓取应用程序,而不是用于测试。)

我已经确认,当它挂起时,仍然可以访问该站点(例如,通过命令行上的 curl 或 wget)。我还尝试将调用访问和后续查找器的 Ruby 代码包装在 Timeout 块中,以便在等待 60 秒后访问新 URL,但在第一次发生这种情况后,任何 visit() 尝试都会失败。解决此问题的唯一方法是杀死调用 Capybara/capybara-webkit 的 Ruby 进程和 webkit_server 进程并重新启动。

当我跟踪 webkit_server 进程时,我反复看到这样的输出:

如果我 strace 调用它的 Ruby 进程,它会挂在 read() 上:

我知道 Ruby 代码挂在 Capybara visit() 方法上。

任何关于我可以做些什么来解决或纠正这个问题的想法都值得赞赏。我假设问题与 webkit_server 需要访问 URL 的某些资源有关,但不确定接下来要尝试什么。

谢谢!

0 投票
3 回答
3926 浏览

ruby-on-rails - 带有 JS 的 RSpec+Capybara 请求规范不起作用

使用 Javascript 时,我无法使请求规范正常工作。如果我在没有 Javascript 的情况下运行它们,我的规范就会通过(该页面是为使用或不使用 JS 而构建的)。

具体来说,当我执行诸如Post.should have(1).record. Capybara 只是不从数据库中获取记录,并且在运行之间没有清理数据库。

我已经尝试使用禁用事务固定装置的 DatabaseCleaner - 我猜这是常见的方法。没有骰子。

我还尝试过(并且最好更喜欢)在没有 DatabaseCleaner 的情况下运行,使用事务性固定装置并强制 AR 在线程之间共享相同的连接(José Valim 描述的补丁)。再次,没有骰子。

此外,我还尝试在 Capybara-webkit 和 Selenium 之间切换 - 问题仍然存在。

我已经建立了一个示例应用程序,其中只有一个基本的 Post 脚手架,它复制了这个问题:https ://github.com/cabgfx/js-specs 有一个带有事务性固定装置和 AR 共享连接的 spec_helper.rb,以及一个 spec_helper_database_cleaner。 rb 用于另一种情况。

我通常使用 Spork,但我在两个 spec_helper.rb 文件中都禁用了它,只是为了消除潜在的故障点(在两个应用程序中;“真实”应用程序和示例应用程序)。

我在 Macbook Air 上使用 Pow 进行本地开发,通过 RVM 运行 OS X 10.7.3 和 MRI 1.9.3。(我也试过 1.9.2)。

希望我说得通 -非常感谢任何指导/帮助/指针!

0 投票
1 回答
481 浏览

ruby-on-rails - 是否可以使用 Capybara Webkit 进行 facebook 连接

是否可以使用 Capybara-webkit 驱动程序进行 facebook 连接?

我在网上看到的所有示例都使用 Capybara -webkit 目前不支持的“within_window”方法(例如:https ://gist.github.com/1187574)。

谢谢你。

0 投票
2 回答
876 浏览

ruby-on-rails - 安装 capybara-webkit gem 时出现问题,递归错误?

当我尝试安装 capybara-webkit gem 时,它说它找不到 capybara-webkit gem。我已经安装了 qt4:

知道问题可能是什么吗?

0 投票
2 回答
258 浏览

ruby - 在 win7 x86 机器上安装 capybara-webkit 时出错

我在安装 capybara-webkit 时遇到问题。当我尝试 gem install capybara-webkit时,会发生以下错误

错误:安装 capybara-webkit 时出错:错误:无法构建 gem 原生扩展。C:/Ruby193/bin/ruby.exe extconf.rb

ruby v 1.9.3 p194,qt 4.7.4(也尝试使用 4.8)

在此先感谢您的帮助

0 投票
1 回答
1527 浏览

rspec - 使用 webkit 运行 capybara 时出现“失败/错误:无法从回溯中找到匹配行”

当我这样运行时,:focus => true它工作正常:

但是,当我删除:focus => true并运行完整的测试套件时,我在该测试中收到此错误。

这似乎与:js => true可能有关,因为这是我开始使用它的第一个测试。当我自己运行一个测试时,capybara-webkit 会在屏幕上打印一堆警告。

但是当我运行完整的套件时,我没有看到来自 webkit 的警告,所以它几乎就像它没有被加载一样。

有任何想法吗?谢谢我真的很感激!

如果您对此感到好奇,这里是我的 gemfile 的相关部分:

0 投票
0 回答
658 浏览

ruby-on-rails - Rails 3.1.4、capybara-webkit 0.11.0、unicorn 4.3.1 和共享数据库黑客的验收规范出现问题

我们最近尝试将应用程序从 Rails 3.0.12 升级到 3.1.4,现在许多使用 capybara-webkit 进行 JS 测试的验收规范被挂起或显示暂时失败以及各种数据库错误。

我们在 spec_helper.rb 中有一个相当常见的 hack,它在规范本身和 capybara-webkit 生成的服务器之间共享一个数据库连接。我怀疑我们可能在这些线程之间存在某种死锁和/或竞争条件。

谷歌搜索表明 Unicorn 不能很好地使用这个 hack(虽然它曾经很好),所以我尝试依次切换到瘦和 WEBrick:这两个都刚刚被锁定。

Gemfile.lock 如下:

而spec_helper.rb如下:

任何建议将不胜感激。

0 投票
1 回答
1636 浏览

ruby-on-rails - Capybara 请求规范与 JS 的问题 - 找不到模型

我遇到了 JS 请求规范的问题 - 模型编辑页面的基本访问:

结果:“ActiveRecord::RecordNotFound - 找不到 id=1 的文档”

奇怪的是它适用于标准请求规范。我尝试了 webkit 和 selenium 驱动程序。我的 spec_helper 看起来像这样(应该很标准):

Rails 3.1.4,没有对 capybara、rspec 等测试库的版本控制。

非常感谢任何输入!谢谢!

0 投票
1 回答
1599 浏览

ruby-on-rails - 如何告诉 capybara-webkit 不要忽略确认框(或只是测试它们的内容)

所以我有一个场景:

链接很简单:

因此,当我单击 Chrome 中的链接时,此代码确实会出现一个确认对话框,但使用这样的页面渲染:

我相信我可以确认屏幕截图中似乎没有评估 javascript(没有显示确认对话框)。不过,这个假设可能是错误的,我不确定。

谢谢你的帮助。

0 投票
1 回答
432 浏览

ruby-on-rails-3 - capybara webkit 无法加载 mailto url

我正在测试我的 rails 集成测试capybara-webkit,我的 javascript 需要更改location.hrefmailtourl。它以这个错误结束

在这种情况下我将如何测试?我只需要确保访问此 url 就足够了。在这种情况下,我不需要进行真正的重定向。有什么建议么?