2013-04-10 141 views
0

我有Amazon EC2運行Selenium測試上GRID2

運行硒柵格和我有我試圖用Ruby和TestUnit運行基本測試。

require "test/unit" 
require "rubygems" 
gem "selenium-client" 
require "selenium/client" 

class Test3 < Test::Unit::TestCase 

    def setup 
    @verification_errors = [] 
    puts "Running tests..." 
    @selenium = Selenium::Client::Driver.new \ 
     :host => "http://ec2-54-244-205-27.us-west-2.compute.amazonaws.com:7055/wd/hub", 
     :browser => "*chrome", 
     :url => "https://news.google.com/", 
     :timeout_in_second => 60 

    @selenium.start_new_browser_session 
    end 

    def teardown 
    @selenium.close_current_browser_session 
    assert_equal [], @verification_errors 
    end 

    def test_test3 
    @selenium.open "/nwshp?hl=en&tab=wn&authuser=0" 
    @selenium.click "css=#gb_5 > span.gbts" 
    @selenium.wait_for_page_to_load "30000" 
    @selenium.click "css=div.main-appbar" 
    @selenium.click "css=span.titletext" 
    end 
end 

不過,我不斷收到以下錯誤:

SocketError:的getaddrinfo:節點名稱也不servname提供,或者不知道

我創建了硒集線器下面的行。

Java的罐子硒的服務器獨立-2.6.0.jar -role樞紐-port 7055

我那麼做註冊的webdriver的節點...

Java的罐子硒 - 服務器 - 獨立-2.6.0.jar -role webdriver的-hub http://ec2-54-244-205-27.us-west-2.compute.amazonaws.com:7055/grid/register -port 7056

我的網格控制檯說...

WebDriverRemoteProxy 
listening on http://10.250.11.113:7056/wd/hub 
test session time out after 300 sec. 
Supports up to 5 concurrent tests from: 

我不明白,使我的測試與連接硒網格。我做錯了什麼?我的WebDriver的URL應該是WebDriverRemoteProxy下的「監聽」嗎?

+0

當U創建的節點,如何做你定義它的角色? – Amey 2013-04-10 04:08:32

+0

你還可以從你打算運行測試的計算機ping EC2機器嗎? – Amey 2013-04-10 04:14:12

+0

你是對的。我已經將測試作爲遠程控制導出,而不是WebDriver。我以WebDriver的方式再次導出該測試,但現在我得到了Errno :: ETIMEDOUT:操作超時 - connect(2) – erichrusch 2013-04-10 04:40:07

回答

1

我有一種感覺,你已經創建了節點到集線器扮演的角色webdriver

爲了向後兼容,「wd」和「rc」角色是「節點」角色的有效子集。但是這些角色將遠程連接的類型限制爲相應的API,而「節點」允許RC和WebDriver遠程連接。

考慮到你的跑步RC,嘗試定義節點的作用rc或更好node

java -jar selenium-server-standalone-2.31.0.jar -role node -port 7056 -hub http://ec2-54-244-205-27.us-west-2.compute.amazonaws.com:7055 

和您的硒遠程實例,像這樣

@selenium = Selenium::Client::Driver.new \ 
     :host => "http://ec2-54-244-205-27.us-west-2.compute.amazonaws.com:7055/wd/hub", 
     :browser => "*googlechrome", 
     :url => "https://news.google.com/", 
     :timeout_in_second => 60 
+0

這樣做。謝謝!現在,我只需要安裝它看起來像的瀏覽器依賴關係。 – erichrusch 2013-04-10 05:24:09

相關問題