超时和browserTimeout之间的区别

时间:2016-09-16 18:45:33

标签: configuration selenium-grid

我刚开始使用Selenium Grid。

我面临的当前问题是测试崩溃的时候。浏览器一直保持打开状态,直到我到达并自行关闭,以便下一组测试可以开始。

我注意到NODE配置有两个超时配置,一个用于-timeout,另一个用于-browserTimeout

对于-timeout,它说浏览器将被“释放”以进行另一次测试。对于-browserTimeout,它根本就没有说什么。

我不明白“已发布”是什么意思。

我需要的是在超时发生时关闭浏览器。

什么选项会关闭浏览器?

1 个答案:

答案 0 :(得分:12)

This文档可以帮助您

引用文档

  • timeout 30(默认值为300)集线器自动释放未收到超过指定秒数的请求的节点之前的超时(以秒为单位)。在此之后,将释放该节点以进行队列中的另一个测试。这有助于在无需人工干预的情况下清除客户端崩溃。要完全删除超时,请指定-timeout 0,并且集线器将永远不会释放节点。
  • browserTimeout在集线器上,您还可以设置-browserTimeout 60,以使节点愿意在浏览器中挂起60秒的最长时间。

这是我有限的理解

  • timeout - 此值表示Grid在将特定测试会话(特定运行测试用例)视为过时之前应等待多长时间,以便可以清除该特定测试会话并释放插槽其他一些测试用例基本上可以在节点上执行。当我们在eclipse中运行测试用例并单击RED按钮并突然结束测试用例时,此参数是相关的。那时客户端(您的测试用例)还没有向远程发送“结束会话”信号。所以这个会话是陈旧的,网格必须清理这个孤儿会话。
  • browserTimeout - 此值表示网格在将特定测试会话(特定运行测试用例)视为过时之前应等待多长时间,因为浏览器已挂起(可能是由于浏览器崩溃或由于浏览器崩溃)到已冻结浏览器的Web应用程序上的流氓javascript)。需要注意的重要一点是客户端(在IDE中运行的测试用例或者像Jenkins这样的持续集成工具)仍然处于活动状态,但是它的浏览器没有响应。

因此,为了安全防范由于客户端崩溃导致的孤立测试会话的执行使用timeout并使用browserTimeout来保护您的网格免受冻结的浏览器的影响,这些浏览器拒绝返回并导致测试执行停滞。< / p>