0

我正在尝试使用 Sauce Connect 设置 Capybara 以对我编写的 gem 进行一些自动化测试。我正在使用Combustion在 localhost:9000 启动服务器以在浏览器中进行测试。

我的spec_helper.rb长相是这样的:

require 'rubygems'
require 'bundler'

Bundler.require :development

require 'rspec/rails'
require 'capybara/rails'
require 'capybara/rspec'
require 'sauce/capybara'
require 'sauce/parallel'

Combustion.initialize!

# Engine config initializer
require 'setup_credentials.rb'

RSpec.configure do |config|
  #config.use_transactional_fixtures = true
end



Capybara.default_driver = :sauce
Capybara.server_port = 9000

BROWSERS = [
  ["Mac", "Firefox", "17"]
]

index = ENV["TEST_ENV_NUMBER"] != "" ? (ENV["TEST_ENV_NUMBER"].to_i - 1) : 0
platform = BROWSERS[index]
Sauce.config do |config|
  config[:os] = platform[0]
  config[:browser] = platform[1]
  config[:version] = platform[2]
end

在我正在运行的另一个终端中:

java -jar Sauce-Connect.jar MY-USERNAME MY-API-KEY -p localhost:9000

我的规范名称miso_spec.rb如下所示:

require "spec_helper"

describe "File upload", :sauce => true do
  it "should go through locally" do
    visit "http://localhost:9000"
    fill_in 'search', :with => "platform"
    click_button "searchButton"
    page.should have_content "Screencasts"
  end
end

我通过执行以下命令来运行它:

rspec -P "spec/features/miso_spec.rb"

启动此命令几秒钟后,我的服务器被下面的 GET 请求淹没并无限期地继续。

Started GET "/__identify__" for 127.0.0.1 at 2013-05-31 13:51:05 +0200
** [Raven] User excluded error: #<ActionController::RoutingError: No route matches [GET] "/__identify__">

ActionController::RoutingError (No route matches [GET] "/__identify__"):

当我在 Saucelabs.com 上查看视频时,我可以看到浏览器永远不会进入http://localhost:9000. 然而,奇怪的是,当我控制测试会话时(您可以在浏览器测试运行时单击 Sauce Labs 上的视频来控制),手动导航到该地址会打开本地托管页面.

我相当肯定我已经排除了燃烧是问题的根源。在此端口上启动标准 Rails 服务器仍然会出现上面发布的路由错误。我不确定如何进行。谢谢。

4

1 回答 1

1

弄清楚了。我意识到我不止一次需要几件事,所以我注释掉了spec_helper.rb.

于 2013-05-31T13:15:21.893 回答