当前位置: 首页 > 知识库问答 >
问题:

使用docker设置selenium网格以运行webdriverio测试的问题

爱炯
2023-03-14

我试图设置硒网格与docker来运行我的webdriverio测试。然而,当我执行测试时,我得到了一个异常。

我的docker组合。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'
    }
  ]

我在selenium集线器容器日志中看到它已启动并正在运行:

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.GridExc0019:用于设置功能的VM的空池{BrowserName: chrome, handlesAlerts: true, javascriptEn的: true, locationContextEn的: true, loggingPrefs:org.openqa.selenium.logging....,请求起源:{name: webdrivero, url:http://webdriver.io, version: 4.12.0},可旋转:真正的

你知道这里的问题是什么吗?

共有1个答案

祁和通
2023-03-14

提到的例外情况

org.openqa.grid.common.exception.GridExc0019:用于设置功能的VM的空池{BrowserName: chrome, handlesAlerts: true, html" target="_blank">javascriptEn的: true, locationContextEn的: true, loggingPrefs:org.openqa.selenium.logging....,请求起源:{name: webdrivero, url:http://webdriver.io, version: 4.12.0},可旋转:真正的

意味着您的Selenium Grid没有任何具有所需功能的浏览器可用节点。

如果您在计算机上以集线器的形式运行Selenium Grid(-role hub),请确保至少有一个提供所需浏览器的节点连接到该集线器。退房http://localhost:4444/grid/console查看是否有任何节点连接到集线器。

您还可以尝试从网格配置中删除-role hub,然后重试。

 类似资料:
  • 问题内容: 我正在设置Selenium Grid服务器,并且已经在本地计算机上成功完成了工作,我想知道如何提供主机名,因此如果其他测试人员想要注册到集线器,他们应该能够做到这一点,这就是我所做的至今: 在我的本地计算机上(假设我将允许其他测试人员在此处注册该节点) 在本地计算机上启动集线器: 启动节点 我查看中心的状态:localhost:4444 / grid / console 现在,我的问题

  • 注: 在testng xml中,如果我将parallel=更改为类或方法,那么它可以很好地运行测试,但它不是并行地一个接一个地运行测试。 如果我保持parallel=“tests”,那么它会并行运行,但它会在同一个VM中打开同一个浏览器三次,这是不正确的。 我的设置: 我设置了11个虚拟机,每个盒子上的每个浏览器都初始化了Selenium网格节点。我已经创建了testng xml,以便在每个框上运

  • 我正在尝试设置selenium网络驱动程序,以便与浏览器堆栈一起使用Java进行自动化测试。我为java安装了Selenium,并从浏览器堆栈的站点https://www.browserstack.com/automate/java#configure-capabilities复制和粘贴代码以设置示例自动化测试。 我运行了javac-classpath selenium-server-standa

  • 问题内容: 我试图设置Selenium Webdriver与Java的Browserstack一起使用,以进行自动测试。我安装了Selenium for Java,然后从浏览器堆栈的站点https://www.browserstack.com/automate/java#configure- capabilities 复制并粘贴了代码,以建立示例自动化测试。 我从终端运行(JavaSample.j

  • 在TestNG XML中,我将类文件指定为Cucumber文件,这个java文件包含我的特性的路径。 当我运行时,我没有得到任何响应,并且可以看到空白的测试NG报告。 注意:我在Junit cucumber中尝试了相同的脚本,在grid中使用chrome,并且运行良好。 我的最后一个问题,我是网格新手,我想知道我们可以看到所有的浏览器在多个节点上运行,或者我们不能看到除了结果以外的任何东西,当通过

  • 问题内容: 我有一个用Rails编写的应用程序。为了对其进行测试,我构建了一个docker映像。一切正常。 但是,当我配置Jenkins运行这些测试时,就会出现问题。在构建步骤中,我要做的是: 其中rspec是在docker-compose.yml上定义的服务,其中包含以下命令: 当rspec返回错误时,构建仍然成功。这里是输出示例: 返回1,构建仍然成功。 如果我通过docker通过其ID检查容