使用Docker设置Selenium Grid来运行WebDriverio测试的问题

时间:2018-06-23 10:11:32

标签: selenium selenium-grid webdriver-io

我正在尝试与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}

关于这里可能存在什么问题的任何想法?

1 个答案:

答案 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,然后重试。