0

Я ищу способы настроить как центральный «концентратор» для Selenium в своей работе, позволяя любому получить доступ внутри компании. Например, тестер A пишет тестовые скрипты, Person B может работать без необходимости вручную копировать тестовые скрипты на их локальную рабочую станцию)Каким образом можно запускать сценарии тестирования Selenium без необходимости их установки/запуска локально?

До сих пор я думал о установке Selenium в виртуальной машине, которая затем выполнит как обычно. Но если я запустил Selenium Grid, он запустит VM в VM (?). Моя единственная проблема с виртуальными машинами заключается в том, что она будет работать медленно.

Если кто-нибудь может подумать о лучшем решении или рекомендации, пожалуйста, дайте мне несколько советов. Заранее спасибо.

ответ

0

Одна идея. Вы можете создать инфраструктуру, объединяющую Jenkins/Selenium/Amazon.

Следующее - мое решение из другого сообщения.

Вы можете сделать это с помощью сетки.

Прежде всего, вам необходимо создать концентратор Selenium с EC2 ubuntu 14.04 AMI без интерфейса и связать его как подчиненный раненому вашему мастеру Jenkins. Или как непосредственно мастер. Что ты хочешь. Только командная строка. Загрузите автономный сервер Selenium. (будьте осторожны при загрузке версии. Если вы загрузите Selenium3Beta, все может измениться). Здесь вы можете настроить концентратор. Вы также можете добавить Selenium Hub в качестве службы и настроить автоматический запуск на старте сервера. важно открыть порт Selenium по умолчанию (или тот, который вы настроили), чтобы узлы могли подключиться к нему. Это можно сделать на консоли Amazon EC2, когда вы создали свой экземпляр. Вам просто нужно добавить группу безопасности с входящим правилом для TCP в том порту, который вы хотите для IP-адресов, которые вы хотите.

Затем вы можете создать сервер экземпляра Windows Server 2012 (например, это то, что я сделал) и выполнить тот же процесс. Загрузите ту же версию для Selenium и chromedriver (нет необходимости загружать любой firefoxdriver для версий Selenium до Selenium3). Создайте txt-файл и подготовьте команду Selenium для ссылки на HUB как NODE. И преобразуйте его в * .bat, чтобы выполнить его. Если вы хотите запустить bat во время запуска, вы можете создать службу с планировщиком задач или использовать NSSM (https://nssm.cc/). Не забудьте также добавить правила в группы безопасности для этой машины!

Затем создайте сервер Jenkins. Вы можете использовать Selenium Hub как мастер Дженкинса или как раб.

Последний шаг - настройка задания, которое должно выполняться в машине Jenkins-Selenium. Эта работа должна быть связана с вашим репозиторием кода (git, mercurial ...) Используя параметризованный плагин сборки для jenkins, вы можете сказать, что задание вытягивать требуемую ревизию (где каждый разработчик может вытащить ревизию с новыми изменениями и новыми тесты) и запускать тесты Selenium в этой сборке с текущей ошибкой/пересмотром и против одного уникального селена. Вы можете использовать ANT или Maven для запуска тестов Selenium в Jenkins.

Может быть, это сложно понять, потому что здесь так много концепций, но оно надежное и работает отлично!

Если у вас есть сомнения, скажите мне!

0

Если Internet Explorer не является одним из браузеров, на которых вы должны запускать тесты автоматизации, я бы рекомендовал вам рассмотреть седан docker.

Selenium предоставляет предварительно сконфигурированные изображения докеров для Selenium Hub и узла (см. here для получения дополнительной информации).Для использования секатора докеров все, что вам нужно сделать, это найти машину (желательно машину unix), установить на нее докер, выполнив следующие инструкции: here, а затем запустите концентратор и узел, начиная с этих контейнеров. В случае докера вы можете буквально преобразовать виртуальную машину (или) физическую машину в ферму VM и все же не беспокоиться о медлительности и т. Д., Потому что я считаю, что докер оптимизирован для них, и он запускает вашу виртуальную машину в качестве процесса.

При использовании облаков Amazon для запуска узлов селена все в порядке, но если у вас есть корпоративные политики, препятствующие входящему трафику из Интернета в ваш регион интрасети, то я не уверен, насколько облако Amazon было бы полезным ,

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

PS: Причина, по которой вызывается Internet Explorer как исключение, заключается в том, что IE работает только на окнах, а для окон нет изображений докеров (пока). Все изображения докеров - это изображения на основе UNIX.