2

我有一个 rails 应用程序,我正在使用 nitrous.io 盒子来开发它。我正在尝试运行我的黄瓜功能,但由于未安装 firefox,因此出现错误。我试图安装 firefox,但盒子的安全设置不允许我这样做。

有没有办法在亚硝酸箱上运行黄瓜功能?

4

1 回答 1

1

由于您将无法在 Web IDE 中使用 Web 浏览器,因此您需要使用PhantomJS。您可以使用 Autoparts 包管理器安装最新版本:

parts install phantomjs

安装后,您将需要配置您的 rails 应用程序以使用它。有很多文章可以帮助你解决这个问题。以下是blog.pezholio.co.uk的一些内容,其中涵盖了将 PhantomJS 与 Cucumber 一起使用:

“我假设您已经在 Rails 应用程序中设置了 Cucumber-rails,所以如果您还没有,请查看此Railscast以帮助您入门。

接下来,将 poltergeist 添加到您的 gemfile(可能在您的 :test 组中),如下所示:

gem 'poltergeist'

并运行bundle install

接下来要做的是将 Poltergeist 注册为 Cucumber 中的新浏览器,并使其作为所有 JavaScript 测试的默认驱动程序运行。打开您的 features/support/env.rb 文件并添加以下行:

require 'capybara/poltergeist'

Capybara.register_driver :poltergeist do |app|
    Capybara::Poltergeist::Driver.new(app, {debug: false})
end

Capybara.javascript_driver = :poltergeist

那你应该好好去!至关重要的是,您需要确保将 @javascript 标签添加到所有测试中,这样 Capybara 知道使用 Poltergeist 进行测试,但除此之外,当您现在运行测试时,而不是打开浏览器窗口,一切像魔术一样在后台发生!"

于 2014-01-09T00:22:40.330 回答