2013-05-20 52 views
0

我試圖運行一系列針對Web應用程序的行爲測試使用的是後面的代理服務器上的硒和我需要的測試,以在無頭模式RSpec中硒的webdriver設置代理

運行作爲先決條件我已經安裝了Firefox和xfs並且運行了xfs服務並且運行了xfs服務

由於我們主要在ruby中開發,我以爲我會使用rspec來處理所有的測試,然後我們可以通過手寫測試或者通過硒ide和出口他們作爲rspec測試

如果我測試這個在我的開發盒有一個gui,我可以通過rspec調用測試並且它啓動了瀏覽器並且在沒有問題的情況下運行測試套件,但是當我嘗試在測試服務器上做同樣的事情時,它只是掛起

我認爲這完全取決於我如何調用webdriver,我需要得到它在無頭的模式下運行,也是我需要的測試部分之前設置的代理詳細信息

這是我的測試前和測試的部分後

before(:each) do 
    @driver = Selenium::WebDriver.for :firefox 
    @base_url = "http://myurl.com/" 
    @accept_next_alert = true 
    @driver.manage.timeouts.implicit_wait = 30 
    @verification_errors = [] 
end 

after(:each) do 
    @driver.quit 
    @verification_errors.should == [] 
end 

因此,沒有人知道爲@driver添加代理詳細信息的最佳方式,以及如何讓測試在無頭模式下運行?

從長遠來看,我將尋求在spec_helper中設置所有驅動程序設置,然後我們不必在每個測試中添加它們,但此刻我很樂意獲得單個測試。一個獨立的方式

我也想使之成爲一個通用的解決方案是理想的,我想創建一個獨立的應用程序的紅寶石那裏開發人員可以在他們的rspec的文件拖放,然後我們就可以單獨調用每個測試通過詹金斯

Cheers

Mike

回答

0

這不是直接回答你提出的問題,而是一個建議。而不是直接針對硒代碼,我會建議使用像水豚這樣的東西。然後,您可以在開發者框中使用Selenium webdriver查看瀏覽器中發生了什麼,如果您有物理需求的話;那麼您可以輕鬆切換到使用像capybara-webkit或phantomjs這樣的無頭驅動程序在構建服務器上無頭奔跑。