Sla*_*vik 11 selenium selenium-grid session-timeout selenium-webdriver
在运行我的测试时,我需要长时间延迟(约40秒).
而且我看到,Selenium会话在此期间被删除了.
请帮忙:如何配置会话超时增加?
这是我在Selenium节点日志中开始延迟后30秒内看到的内容:
INFO org.openqa.selenium.remote.server.DriverServlet - 会话7f5fffec-4882-4c4c-b091-c780c66d379d由于客户端超时而被删除
睡眠40秒后,我的代码中出现此异常:
org.openqa.selenium.remote.SessionNotFoundException
我试图增加所有可能的超时.以下是我启动集线器的方法:
java -jar selenium-server-standalone.jar -role hub
-hubConfig selenium_hub.json
-nodeTimeout 61
-remoteControlPollingIntervalInSeconds 180
-sessionMaxIdleTimeInSeconds 240
-newSessionMaxWaitTimeInSeconds 250
-timeout 59
Run Code Online (Sandbox Code Playgroud)
这里是selenium_hub.json:
{
"host": null,
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets": [],
"prioritizer": null,
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 5000,
"cleanUpCycle": 5000,
"timeout": 60000,
"browserTimeout": 60000,
"maxSession": 5,
"jettyMaxThreads": -1
}
Run Code Online (Sandbox Code Playgroud)
没有在节点上配置任何超时.这是我在网格控制台中看到的内容:
browserTimeout : 60000
capabilityMatcher : org.openqa.grid.internal.utils.DefaultCapabilityMatcher
cleanUpCycle : 5000
host : null
hubConfig : /usr/local/selenium/config/selenium_hub.json
jettyMaxThreads : -1
maxSession : 5
newSessionMaxWaitTimeInSeconds : 250
newSessionWaitTimeout : -1
nodePolling : 5000
nodeTimeout : 61
port : 4444
prioritizer : null
remoteControlPollingIntervalInSeconds : 180
role : hub
servlets : []
sessionMaxIdleTimeInSeconds : 240
throwOnCapabilityNotPresent : true
timeout : 59000
Run Code Online (Sandbox Code Playgroud)
我正在使用Selenium 2.45
我终于想通了!
解决方案实际上非常简单:在集线器上更改配置后,需要重新启动节点.
这不是很明显:
当我更改集线器上的配置时,我重新启动它.节点将自动重新注册集线器.然后查看控制台,我可以看到新的配置参数生效.更重要的是,当我查看节点配置时,我看到节点上的参数已经更改.那是误导!因为即使节点重新注册,但其配置尚未更改.它仅在节点重新启动时才会更改.我想,这是Selenium bug - 节点应该在重新注册时重新配置.
| 归档时间: |
|
| 查看次数: |
16044 次 |
| 最近记录: |