Как запустить 50 экземпляров браузера с помощью Selenium Grid на одном компьютере - PullRequest
0 голосов
/ 20 марта 2019

Мне нужно запустить 50 экземпляров браузера (IE) на виртуальной машине и выполнить один и тот же Testcase 50 раз параллельно в этих браузерах.Это своего рода нагрузочное тестирование, и я не уверен, возможно ли это с концепцией Selen Grid.если нет, то я хотел бы знать другой метод для выполнения этой задачи.

1 Ответ

0 голосов
/ 22 марта 2019

Вы можете использовать Docker и Docker Compose, если вы с ним знакомы.

Сначала вам нужно установить Docker (если у вас Linux или Mac, это должно быть легко, если нет, то вы можете установить егов Windows (рабочий стол Docker). Существует множество руководств по использованию 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 вам нужно будет открыть терминал git bash по пути, в котором находится файл .yml, и вам нужно будет написать следующую команду:

docker-compose up -d

Сетка будет загружена из докераи это скоро начнется. Через 1-2 минуты у вас должна быть запущена и запущена сетка на вашем локальном хосте.

Вы можете проверить это самостоятельно на порту 4444.

И если у вас естьсетуЕсли вы создали локальную сетку, то она должна работать, но вы не сможете увидеть тесты, запущенные в сетке, потому что теперь они выполняются в вашем док-контейнере.

Теперь, если вам нужно больше узлов, просто напишите следующую команду:

docker-compose scale chrome=50

И это создаст 50 узлов Chrome.

Однако вам потребуется выделить многоресурсов, чтобы контейнер поддерживал всю эту нагрузку.

Если вам нужна дополнительная информация, я с радостью помогу!

...