Автор оригинала: Talal Ibdah.
Постановка задачи
В качестве инженера-автоматизации тестового автоматизации вы должны были испытывать необходимость выполнения параллельных тестов на несколько браузеров одновременно, чтобы добиться большего количества охвата теста на совместимость и более быстрые выполнения тестов. Для этого будет достигнуто, вы могли бы использовать свой локальный компьютер, но это только с немногим сессиями, и удержит вашу машину на некоторое время. Другое решение, которое вы могли бы рассмотреть, — это использовать облачные службы, такие как Saucelabs, Browsercackack и т. Д. Но это также приходит с стоимостью, а действительно высокая стоимость.
Решение
Сегодня я получил твою спину. Мы построим нашу собственную облачную службу для запуска наших автоматизированных тестов против кросс-браузеров и кроссплатформенных при минимальных затратах с использованием селена, построенного в Docker. На самом деле, я буду начать бесплатно
Эта статья займет 30 минут, чтобы прочитать и добавить следующие навыки на вашем резюме:
- Настройка селена сетки для удаленных тестовых исполнений.
- Начало работы с Docker.
- Создание облачных машин с использованием на цифровой камень.
- Управление вашим контейнерам докеров и удаленных машин с использованием RANCHER.
Давайте наступим на шаги, и вы узнаете все вышеперечисленные при примерах:
Что такое селена
Рассмотрим его как сеть нескольких устройств (узлов), подключенных к одной машине (HUB). Каждый узел может иметь другой браузер и тип платформы. Например, у вас может быть концентратор с 4 узлами, подключенными (Firefox, Chrome, Safari, IE). Чтобы запустить тесты на этих узлах, вы отправляете заказ на концентратор для выполнения тестов на Safari, и он отправит его на следующий доступный узел, который установлен Safari.
После того, как у вас есть SELENIUM STRID UP и REATE, вы можете начать свой веб-драйвер, чтобы отправить тесты на ваш селениум. Ниже приведен пример того, как сделать это:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import java.net.MalformedURLException; import java.net.URL; public class Grid_SetUp { public static WebDriver driver; public static void main(String[] args) throws MalformedURLException, InterruptedException{ String URL = "http://www.baaz.com"; String Node = "http://hub_IP:4444/wd/hub"; DesiredCapabilities cap = DesiredCapabilities.firefox(); driver = new RemoteWebDriver(new URL(Node), cap); driver.navigate().to(URL); Thread.sleep(5000); driver.quit(); } }
Мы получим сетку Selenium и готовы за несколько минут. Оставайся сфокусированным.
Что такое цифровой
Это облачные вычисления. Это дает вам возможность создавать и запускать собственную машину Linux за несколько секунд. Мы будем использовать его для создания вашей машины Ubuntu, которые будут размещать нашу селеную сетку. Зарегистрируйте учетную запись, используя следующую ссылку, чтобы получить бесплатно 100 долларов кредит
https://m.do.co/c/03740affdae2
Что такое Docker, и почему это важно
Это действительно нужен очень длительный ответ Но если вы еще этого не знаете, считайте его инструментом для создания виртуальных машин для вас очень простым и быстрым способом. Одно машина Linux может иметь несколько контейнеров докеров (VMS) вверх и работать на нем, каждый на собственных портах.
По крайней мере, это то, что вам нужно знать для этого учебника. Мы будем использовать его для создания виртуальных машин Linux, которые принимают наши узлы селена селена. Я настоятельно рекомендую вам прочитать подробнее об этом на их официальном сайте: https://www.docker.com/what-Docker
Вот горячая часть, следуйте этим шагам и молитесь за это работать (шучу).
# 1: Создайте учетную запись на цифровой документ, используйте следующую ссылку, чтобы получить $ 10 USD Бесплатный кредит
https://m.do.co/c/03740affdae2
# 2: Создать капельку (машину Linux) с установленным докером.
Нажмите «Создать капельку».
Выберите только один клик приложений.
Выберите Docker из списка.
Выберите размер в соответствии с скриншотом ниже.
Держите все остальное, как есть и нажмите «Создать».
# 3: Доступ к новой машине, используя свой терминал.
- Вы получите электронное письмо с временным паролем для доступа к вашей капельке с помощью SSH.
- Откройте свой терминал и введите следующую команду (Mac или Linux)
ssh root@IP_Address_of_Your_Droplet_here
- Вам будет предложено изменить пароль. Сделайте это и оставайтесь на терминале, чтобы установить Rancher.
# 4: Установите Rancher.
- Введите следующую команду для установки сервера Rancher и запустите его внутри контейнера, используя Docker.
docker run -d -p 8080:8080 rancher/server
Подождите 5 минут после успешной установки, и тогда вы сможете получить доступ к вашему серверу RANCHER, используя свою капельку IP, используя HTTP://Dainlet IP: 8080
# 5: Соблюдайте ключ API на цифровой камере
- Вернитесь к вашему аккумулятору на цифровой плате и нажмите на API.
- Создайте новый токен API и сохраните его для следующего шага.
# 6: Создайте хост, используя клавишу API на цифровой капитал.
Теперь в своем верхнем меню сервера Rancher, нажмите «Инфраструктура» и выберите «Хосты»
Нажмите на «Добавить хост»
Оставьте URL по умолчанию как есть и нажмите Сохранить
Выберите Digitalocean, вставьте свой токен API, а затем нажмите «Далее».
Введите имя для вашего нового хоста и создайте.
# 7: Создайте стек.
- Как только наш новый хост готов, давайте создадим нашу стопку услуг (Selenium Grid) и разверните его на новый хост.
- Из верхнего меню нажмите «Стеки», выберите «Пользователь», а затем нажмите «Добавить стек»
- Дайте стек имя и описание и нажмите Создать.
# 8: Добавьте свой селена-концентратор и его узлы в качестве сервисов в стек.
После того, как ваш стек создан, нажмите «Добавить услугу»
Первый сервис — это концентратор Selenium и выставляют порт TCP 4444 для него. Заполните точно так, как показано ниже, затем нажмите «Создать».
Теперь мы хотим добавить еще 2 службы, один для хромированного узла и один для узела Firefox, и они должны быть связаны с HUB. Делайте в качестве следующего скриншота для хромированного узла:
Давайте сделаем то же самое, но для узела Firefox:
- Наш стек теперь содержит 3 Услуги: Селенский концентратор, Узел Chrome, Узел Firefox. Этот стек — это то, что мы называем селеной сеткой.
# 9: Доступ к вам CUB Console.
- Перейдите к своему хозяину IP, но используя порт 4444 http://ip_address: 4444/сетка/консоль
- Теперь у вас есть сетка и бега. Вы хотите больше узлов? Проверьте следующий шаг
# 10: масштабировать узлы.
Давайте масштабируем наши узлы, чтобы иметь 5 Firefox и 5 Chrome.
Вернитесь в свой стек, выберите стек сетки селена.
Нажмите на 3 точки рядом с вашим хромированным узлом и нажмите «Изменить»
Появится всплывающее окно, измените число, чтобы быть 5 и нажмите Сохранить.
Сделайте то же самое для узла Firefox.
Теперь доступайте в консоль сети Selenium, чтобы увидеть, как 10 узлов, связанные и готовые к получению ваших тестов.
# 11: Экспортируйте свои конфиги для последующего использования.
- Для просмотра вашего Config Rancher & Docker Config перейдите в Config и нажмите кнопку «Просмотр» и экспортируйте конфигурацию для дальнейшего использования.
Резюме
Мы узнали, как использовать Cloud Computing Service Digitalocean для создания удаленных машин Linux. Мы также создали сервер Rancher, используя Docker в Linux. Затем мы использовали Rancher, чтобы создать другие удаленные машины на Diumpanyocean и развернуть дочерний концентратор Selenium и узлы, чтобы создать нашу селеную сетку на облаке.
Я оставлю это вам, чтобы выяснить, как подключить больше машин различных платформ к вашей решетке, такую как Safari на Mac, или Chrome на Windows.
Удачи
Оригинал: «https://www.codementor.io/@talalibdah/dockerized-selenium-grid-on-cloud-d3gfg1qcq»