我有一組的運行對我的Rails 3應用水豚集成測試。對於測試套件的其他部分,我使用的是Rspec。
我在我的Mac OSX開發機器上安裝了一個selenium 2.6.0獨立服務器集線器。
java -jar selenium-server-standalone-2.6.0.jar -role hub
我運行多個虛擬機,每個掛在輪轂與硒節點:
java -jar selenium-server-standalone-2.6.0.jar -role webdriver -hub http://0.0.1.12:4444/grid/register port 5555 -browser browserName="internet explorer",version=8,platform=WINDOWS
這工作得很好,在這個截圖控制檯顯示我有一個IE7和IE8的瀏覽器連接到集線器:
我設置水豚兌硒樞紐運行(即代表測試到節點)。
Capybara.app_host = "myapp.dev"
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app,
:browser => :remote,
:url => "http://localhost:4444/wd/hub",
:desired_capabilities => :internet_explorer)
end
它可以工作,但它只會在單個internet_explorer節點上運行測試。它似乎是「第一線」的;如果我關閉它,測試將成功運行在另一個節點上。
我一直在嘗試parallel_tests項目,按照建議配置capybara,但那仍然只會啓動一個集成測試。
如何在所有internet_explorer節點上同時運行我的集成?
獎金的問題:,如果我想所有連接的節點上運行我的集成測試,不管瀏覽器的能力,我會怎麼做呢?
丹尼爾,我和你有同樣的問題,你能找到解決方案嗎? – Farooq
我發現如果您有1個Hub和3個節點正在運行,並且您在3個不同的選項卡中同時運行3個測試,則測試將在所有節點中運行。 1測試每個節點。基本上測試會在線檢測下一個空節點並在那裏運行。 – Farooq