2015-12-14 42 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个节点 –