2015-12-14 54 views
1

我試圖並行運行我的測試使用硒網格。我有我的jenkins服務器,一臺只運行集線器的PC,以及3臺連接運行節點的PC。我可以毫無問題地運行7個並行任務,並且很少遇到8個問題,但是一旦我進入10或12,我就開始問題了。與jruby&黃瓜同時運行的硒網格的最大實例

一些我看到的問題是

Session [36531758-f9e2-40ed-95ea-9a811de7e5e1] was terminated due to CLIENT_STOPPED_SESSION (org.openqa.grid.common.exception.GridException) 

Connection refused - Connection refused 
    org/jruby/ext/socket/RubyTCPSocket.java:126:in `initialize' 
    org/jruby/RubyIO.java:1177:in `open' 
    E:/jruby-1.7.16/lib/ruby/1.9/net/http.rb:762:in `connect' 
    org/jruby/ext/timeout/Timeout.java:104:in `timeout' 
    E:/jruby-1.7.16/lib/ruby/1.9/net/http.rb:762:in `connect' 
    E:/jruby-1.7.16/lib/ruby/1.9/net/http.rb:755:in `do_start' 
    E:/jruby-1.7.16/lib/ruby/1.9/net/http.rb:744:in `start' 
    E:/jruby-1.7.16/lib/ruby/1.9/net/http.rb:743:in `start' 
    E:/jruby-1.7.16/lib/ruby/1.9/net/http.rb:1292:in `request' 
    E:/jruby-1.7.16/lib/ruby/gems/shared/gems/selenium-webdriver-2.48.1/lib/selenium/webdriver/remote/http/default.rb:107:in `response_for' 

Connection refused - Connection refused (Errno::ECONNREFUSED) 
    ./features/page_objects/my_project/my_page.rb:90:in `log_out_previous_user' 

我知道像browserstack和其他公司一樣,使用硒電網公司的一些,所以我知道一次可以運行8個以上的實例。任何幫助將不勝感激。

回答

0

當您啓動節點時,您可以指定每個瀏覽器可以使用多少個。也就是說,同一個節點上同時運行的瀏覽器越多,一個任務對另一個任務的影響就越大(我認爲這會增加整體測試成本,而不是並行化節省)。我現在採取的最佳做法是完全跳過使用網格,併爲每個節點計算機設置一個Jenkins執行器,並將其作爲實例限制。

+0

詹金斯執行器解決方案的問題是我必須預先定義測試牀,這意味着它不一定會在我們的測試牀上正常生長。 –

0

網格非常棘手,因爲它們非常依賴於您正在運行的硬件以及測試速度和命令行參數。

你怎麼開始中心?您可能需要添加「-maxSession x」,其中x是您的硬件可以支持的會話數(實驗可以找到:-))

我不熟悉錯誤消息,但可能會導致通過集線器或節點上的瀏覽器超時設置。

要查看所有可用的設置,運行此:

java -jar selenium-server-standalone-2.45.0.jar -h 

根據自己的需要調整他們的關鍵是穩定的網格。

0

我們在我的工作中使用的實現是5:1比率(每個集線器5個節點,集線器本身計算爲節點)。這在我加入球隊之前就已經決定了,但這聽起來像是他們弄了一點數字,而5是最穩定的。

+0

我們有4個節點連接,試圖每臺機器運行3個節點 –