我正在尝试与docker建立Selenium网格来运行我的webdriverio测试。但是,执行测试时出现异常。
我的docker-compose.yml
文件如下:
shub:
image: "selenium/hub:3.11.0"
restart: always
ports:
- 4444:4444
environment:
- GRID_MAX_SESSION="20"
chromenode:
image: "selenium/node-chrome:3.11.0"
restart: always
ports:
- 5555
depends_on:
- shub
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- NODE_MAX_INSTANCES=12
- NODE_MAX_SESSION=12
links:
- shub
我通过wdio.conf.js
文件传递的唯一功能是:
browserName: ‘chrome’
capabilities: [
{
browserName: 'chrome'
}
]
我在硒中心容器日志中看到它已经启动并正在运行:
docker-compose logs shub
Attaching to jobz_web_employer_shub_1
shub_1 | starting selenium hub with configuration:
shub_1 | {
shub_1 | "port": 4444,
shub_1 | "role": "hub",
shub_1 | "maxSession": "20",
shub_1 | "newSessionWaitTimeout": -1,
shub_1 | "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
shub_1 | "throwOnCapabilityNotPresent": true,
shub_1 | "jettyMaxThreads": -1,
shub_1 | "cleanUpCycle": 5000,
shub_1 | "browserTimeout": 0,
shub_1 | "timeout": 30,
shub_1 | "debug": false
shub_1 | }
shub_1 | 21:01:50.359 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.11.0', revision: 'e59cfb3'
shub_1 | 21:01:50.364 INFO [GridLauncherV3$2.launch] - Launching Selenium Grid hub on port 4444
shub_1 | 2018-06-22 21:01:51.057:INFO::main: Logging initialized @2354ms to org.seleniumhq.jetty9.util.log.StdErrLog
shub_1 | 21:01:51.833 INFO [Hub.start] - Selenium Grid hub is up and running</code>
但是,当我运行webdriverio测试时,看到了异常:
org.openqa.grid.common.exception.GridException:虚拟机的空池 设置功能{browserName:chrome,handlesAlerts:true, javascriptEnabled:true,locationContextEnabled:true,loggingPrefs: org.openqa.selenium.logging ...,requestOrigins:{name:webdriverio, url:http://webdriver.io,版本:4.12.0},可旋转:true}
关于这里可能存在什么问题的任何想法?
答案 0 :(得分:0)
提到的异常
org.openqa.grid.common.exception.GridException:虚拟机的空池 设置功能{browserName:chrome,handlesAlerts:true, javascriptEnabled:true,locationContextEnabled:true,loggingPrefs: org.openqa.selenium.logging ...,requestOrigins:{name:webdriverio, url:http://webdriver.io,版本:4.12.0},可旋转:true}
意味着您的Selenium Grid没有任何具有所需功能的浏览器可用的节点。
如果您在计算机(-role hub)
上将Selenium Grid作为集线器运行,请确保至少有一个提供所需浏览器的节点连接到该集线器。检查http://localhost:4444/grid/console,查看是否有任何节点连接到集线器。
您还可以尝试从网格配置中删除-role hub
,然后重试。