2013-05-31 35 views
0

我試圖讓水豚設置醬連接來做一些我寫的寶石的自動化測試。我使用Combustion在localhost:9000上啓動一個服務器,以便在瀏覽器中進行測試。帶水豚和醬汁連接的自動瀏覽器測試。 GET「__identify__」路由錯誤

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服務器仍然會導致上面發佈的路由錯誤。我不知道如何繼續。謝謝。

回答

1

想通了。我意識到我不止一次需要幾件事,所以我在spec_helper.rb中註釋了6-8行。

+0

第6-8行不是一個好的答案,因爲這個文件到處都不一樣 – jigfox

+1

爲什麼downvote?上述spec_helper.rb的6-8。我認爲這很清楚。 –

+2

最好指定不需要哪些文件,以便讀者不必計算行數。 –

相關問題