如何在同一台机器上使用 Selenium Grid 启动 50 个浏览器实例

How to launch 50 browser instances using Selenium Grid in the same machine

我需要在虚拟机中启动 50 个浏览器实例 (IE),并在这些浏览器上并行执行同一个测试用例 50 次。这是一种负载测试,我不确定硒网格概念是否可行。如果没有,我想知道执行此任务的另一种方法。

您可以使用 Docker 和 Docker Compose,如果您熟悉的话。

首先你必须安装docker(如果你有linux或mac这应该很容易,如果没有,那么你可以在windows上安装它( docker desktop)。关于如何使用 docker.

有很多教程

安装完成后,您需要创建一个文件夹,并在该文件夹中创建一个 .yml 文件(您可以使用记事本++来完成)。 文件名应为:docker-compose.yml

在该 .yml 文件中,您必须粘贴以下代码:

version: '2'
services:
  chrome:
    image: selenium/node-chrome:3.14.0-gallium
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - hub
    environment:
      HUB_HOST: hub

  hub:
    image: selenium/hub:3.14.0-gallium
    ports:
      - "4444:4444"

创建 yaml 后,您需要在 .yml 文件所在的路径上打开一个 git bash 终端,您需要编写以下命令:

docker-compose up -d

网格将从 docker 集线器下载,很快就会开始。 1-2 分钟后,您应该在您的本地主机上安装网格并 运行ning。

大家可以在4444端口自行查看。

如果您为本地网格进行了设置,那么它应该可以工作,但是您将无法在网格上看到测试 运行ning,因为现在它们 运行在您的 docker 容器中。

现在如果你需要更多的节点,只需要写下面的命令:

docker-compose scale chrome=50

它将创建 50 个 chrome 个节点。

然而,您将需要分配大量资源,以便容器能够支持所有负载。

如果您需要更多信息,我很乐意提供帮助!