问题标签 [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.
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 的某些资源有关,但不确定接下来要尝试什么。
谢谢!
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)。
希望我说得通 -非常感谢任何指导/帮助/指针!
ruby-on-rails - 是否可以使用 Capybara Webkit 进行 facebook 连接
是否可以使用 Capybara-webkit 驱动程序进行 facebook 连接?
我在网上看到的所有示例都使用 Capybara -webkit 目前不支持的“within_window”方法(例如:https ://gist.github.com/1187574)。
谢谢你。
ruby-on-rails - 安装 capybara-webkit gem 时出现问题,递归错误?
当我尝试安装 capybara-webkit gem 时,它说它找不到 capybara-webkit gem。我已经安装了 qt4:
知道问题可能是什么吗?
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)
在此先感谢您的帮助
rspec - 使用 webkit 运行 capybara 时出现“失败/错误:无法从回溯中找到匹配行”
当我这样运行时,:focus => true
它工作正常:
但是,当我删除:focus => true
并运行完整的测试套件时,我在该测试中收到此错误。
这似乎与:js => true
可能有关,因为这是我开始使用它的第一个测试。当我自己运行一个测试时,capybara-webkit 会在屏幕上打印一堆警告。
但是当我运行完整的套件时,我没有看到来自 webkit 的警告,所以它几乎就像它没有被加载一样。
有任何想法吗?谢谢我真的很感激!
如果您对此感到好奇,这里是我的 gemfile 的相关部分:
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如下:
任何建议将不胜感激。
ruby-on-rails - Capybara 请求规范与 JS 的问题 - 找不到模型
我遇到了 JS 请求规范的问题 - 模型编辑页面的基本访问:
结果:“ActiveRecord::RecordNotFound - 找不到 id=1 的文档”
奇怪的是它适用于标准请求规范。我尝试了 webkit 和 selenium 驱动程序。我的 spec_helper 看起来像这样(应该很标准):
Rails 3.1.4,没有对 capybara、rspec 等测试库的版本控制。
非常感谢任何输入!谢谢!
ruby-on-rails - 如何告诉 capybara-webkit 不要忽略确认框(或只是测试它们的内容)
所以我有一个场景:
链接很简单:
因此,当我单击 Chrome 中的链接时,此代码确实会出现一个确认对话框,但使用这样的页面渲染:
我相信我可以确认屏幕截图中似乎没有评估 javascript(没有显示确认对话框)。不过,这个假设可能是错误的,我不确定。
谢谢你的帮助。
ruby-on-rails-3 - capybara webkit 无法加载 mailto url
我正在测试我的 rails 集成测试capybara-webkit
,我的 javascript 需要更改location.href
为mailto
url。它以这个错误结束
在这种情况下我将如何测试?我只需要确保访问此 url 就足够了。在这种情况下,我不需要进行真正的重定向。有什么建议么?