通过docker compose设置selenium浏览器版本

时间:2018-02-09 11:31:04

标签: selenium docker selenium-webdriver docker-compose selenium-grid

我正在通过docker compose运行selenium grid,并通过我所需的功能定位不同的版本。

我需要测试多个浏览器版本,但是目前我需要定位完整版本,即chrome版本“63.0.3239.132”或“64.0.3282.140”

我希望能够只指定63或64等,以便我的docker设置可以定期更新,而无需更新代码。

有没有办法通过所需的功能来实现这一目标?

下面的

是我的码头撰写文件

version: '2'

services:

  seleniumhub:
      image: selenium/hub:3.9.1-actinium
    ports:
      - 4444:4444

  chrome64:
     image: selenium/node-chrome-debug:3.9.1-actinium
     depends_on:
       - seleniumhub
     environment:
       HUB_PORT_4444_TCP_ADDR: seleniumhub
       HUB_PORT_4444_TCP_PORT: 4444
     ports:
       - 5900

  chrome63:
     image: selenium/node-chrome-debug:3.8.1-erbium
     depends_on:
       - seleniumhub
     environment:
       HUB_PORT_4444_TCP_ADDR: seleniumhub
       HUB_PORT_4444_TCP_PORT: 4444
     ports:
       - 5900

以下是我设置所需功能的方法。

ICapabilities caps = new DesiredCapabilities();

//generic Desktop Browser config':
if (DriverConfig.BrowserName != "")
{ ((DesiredCapabilities)caps).SetCapability("browserName", _browserName); }
else
{ }
if (DriverConfig.Version != "")
{ ((DesiredCapabilities)caps).SetCapability("version", _version); }
else
{ }
if (DriverConfig.Platform != "")
{ ((DesiredCapabilities)caps).SetCapability("platform", _platform); }
else
{ }

1 个答案:

答案 0 :(得分:0)

如果在将selenium节点注册到sellenium hub时在cmd行中指定-browser browserName="chrome,version=63",那么您可以在测试脚本的功能中指定browerVersion: 63

因此,在使用docker setup grid时,您的问题依赖于是否有机会在注册表cmd中指定-browser