我将Docker用于Selenium Grid Hub和Node来收集数据,包括
但是运行一天后,selenium-hub挂了以下异常:
信息退出:硒集线器(出口状态137;未预期)
selenium / node-fire_fox例外是:
INFO [SelfRegisteringRemote $ 1.run]-无法注册此节点:集线器已关闭或没有响应:无法连接到selenium-hub / 172.24.0.2:4444
我该怎么办?
答案 0 :(得分:0)
如果您使用的是docker,我不明白您为什么要让集线器启动并运行。
签出他们的中心页:https://github.com/SeleniumHQ/docker-selenium/tree/master/Hub
集线器启动:docker run -d -p 4444:4444 --name selenium-hub selenium/hub
节点启动:
$ docker run -d --link selenium-hub:hub -v /dev/shm:/dev/shm selenium/node-chrome
$ docker run -d --link selenium-hub:hub -v /dev/shm:/dev/shm selenium/node-firefox
我将编写一个管道,并定义在测试会话开始时显示的Hubimage和节点图像,并在会话结束时删除这些图像。
try{
hubimage
nodeimage
runtests
} catch(anything){
throw anything;
} finally {
sh "docker rmi \$(docker inspect --format='{{range .RepoTags}} {{.}} {{end}}' ${hubimage});"
sh "docker rmi \$(docker inspect --format='{{range .RepoTags}} {{.}} {{end}}' ${nodeimage});"
}
查看有关管道的更多信息:https://jenkins.io/doc/book/pipeline/
答案 1 :(得分:0)
这不是与Selenium相关的问题,而是Docker的问题。
以下链接概述了错误exit status 137; not expected
的根本原因:
简而言之,出于某种原因,Docker正在终止该过程,在您的情况下,selenium-hub
。
对于Mac和Windows,您可能需要在Docker首选项中增加专用于Docker的内存。
This answer here on SO的屏幕截图显示了操作方法。