ruby-on-rails - 是否可以在 Heroku Cedar 上运行 capybara-webkit(即 fork 的 webkit_server)?

标签 ruby-on-rails ruby qt heroku capybara

我需要在 Rails 应用程序中运行 capybara-webkit 以启用带有 JavaScript 支持的 headless Web 浏览(即不用于测试/CI 目的,webrat 或其他验收测试驱动程序/框架将不起作用)。我想知道这在 Heroku 部署中是否可行,特别是因为它需要 QtWebKit 以及通过套接字通信 fork webkit_server 进程的能力。我愿意接受关于如何在 Heroku 上进行这项工作的创造性想法(例如,一组 worker dynos)。我希望有人能更好地处理 Heroku 环境中存在的限制,或者可以断然排除这种可能性,这样我就可以在必要时转向 AWS EC2。

搜索这个往往会发现很多关于 CI 服务器的 capybara 测试和附加组件,它们都与我的用例无关。我没有测试任何东西(至少不是传统的 cucumber/rspec/etc 意义上的)——我正在使用 Capybara 与 webkit 驱动程序、查找器和节点/元素模型的集成来导航需要大量客户端的网站——端 JS 才能工作。

我也对其他(原生 Ruby)解决方案持开放态度,以便使用支持 JavaScript 的 DOM 以编程方式与网站交互。

最佳答案

我就此与 Heroku 支持人员进行了交谈,他们的回答是这基本上是 a) 不受支持; b) 非常困难,包括(除其他事项外)QtWebKit 的静态构建版本。

我自己在 Amazon EC2 上对此进行的调查也让我意识到 QtWebKit 需要一个正在运行的 Xvfb 实例。我非常怀疑这会在 Heroku 上可用,而且我怀疑让它发挥作用会非常困难。

我自己的方法是将此功能放在 EC2 实例上。在尝试使用 Amazon 的标准 AMI(他们的构建和 RHEL)之后,我发现通过 Ubuntu 的包管理系统提供的包使启动运行变得更加容易。

长话短说:Heroku 无法启动,带有 Ubuntu 的 Amazon EC2 是最佳选择。

关于ruby-on-rails - 是否可以在 Heroku Cedar 上运行 capybara-webkit(即 fork 的 webkit_server)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983198/

相关文章:

sql - Postgresql 9.4,将现有主键设置为 SERIAL

ruby-on-rails - 记住用于登录 Ruby on Rails 的用户电子邮件地址

ruby - 正则表达式语法

c++ - 使用 Qt Creator 构建 Stanford CS106B 项目的问题

qt - 如何动态隐藏/显示小部件?

qt - 如何以编程方式简单地删除 QFormLayout 中的行

ruby-on-rails - 清除 rails 控制台中的所有变量

mysql - 无法通过套接字连接到本地MySQL服务器

ruby-on-rails - 使用 Ruby/Rails 进行 base 64 URL 解码?

ruby-on-rails - 正在呈现的 Rspec 测试模板