您可以使用 docker & docker-compose 在远程机器上运行 Selenium Grid
- 在远程机器上安装 docker,以下链接详细介绍了各种平台的安装:docs.docker.com/engine/install/
- 在远程机器上安装 docker-compose,以下链接详细介绍了各种平台的安装:
docs.docker.com/compose/install
- 使用您想要的配置创建一个 docker-compose.yml 文件,以下链接根据您要设置的网格类型提供信息:
docker-selenium/tree/trunk#docker-compose
根据您当前的配置,它将像以下一样简单(注意:该示例使用 Selenium Grid v4,它也适用于 Selenium 3 项目,但如果您愿意,也可以替换 Selenium Grid v3,如果这是您的偏好):
version: "3"
services:
selenium-hub:
image: selenium/hub:4.0.0
container_name: selenium-hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
chrome:
image: selenium/node-chrome:latest
container_name: chrome
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
假设您只需调用上述文件docker-compose.yml,将其放在您选择的目录中。
建议您以分离模式启动网格,以便它在后台运行。从文件所在的目录,执行以下命令:(docker-compose up -d您也可以在远程计算机的根目录下使用 -f 标志运行此命令来声明 docker compose 文件所在的位置docker-compose -f /path/to/directory/docker-compose.yml up -d:)
当不再需要 Selenium Grid 时,执行以下命令:(docker-compose down您也可以使用 -f 标志在远程计算机的根目录运行此命令,以声明 docker compose 文件所在的位置docker-compose -f /path/to/directory/docker-compose.yml down:)
根据您运行自动化测试套件的方式,您可以通过多种方式启动、运行和关闭网格:
- 使用上面提到的命令手动
- 计划作业(Windows 计划服务、Linux crontab 作业)
- 作为 Jenkins 阶段的一部分运行它
选项是开放的。
还有一点建议,selenium.dev 经常使用最新的安全补丁更新他们的图像(大约每 2 周)。为确保您拥有已修复漏洞的最新版本的映像,您可以在网格未启动时使用以下命令docker-compose pull:
继续将现有配置用于当前设置以执行测试。
要通过浏览器访问 Selenium Grid v4 控制台视图,请访问:http://<server-ip/name>:4444/ui/index.html#/