docker selenium tutorial
Вступ до підручника Docker Selenium:
Як обговорювалося в одному з наших попередній підручник Селенова сітка допомагає запускати наші тестові кейси в різних операційних системах і в різних браузерах.
Однак це Підручник з Docker Selenium пояснить вам більше про те, що таке Docker, і як ми завантажуємо, встановлюємо та інтегруємо його в сітку Selenium разом із відповідними знімками екрану, і це зображене зображення дозволить вам швидко і легко зрозуміти процес.
Що ви дізнаєтесь:
- Що таке селенова сітка?
- Один практичний приклад використання селенової сітки
- Що таке Docker?
- Передумови для підручника з Docker Selenium
- Завантаження Docker для Windows
- Встановіть зображення Docker
- Запустіть концентратор селену
- Запустіть селенові вузли
- Налаштування тестів на селен
- Висновок
- Рекомендована література
Що таке селенова сітка?
Селенова сітка допомагає освоїти комп'ютер (концентратор) для розподілених тестів між підлеглими машинами (вузлами).
Коли ми впроваджуємо всі тестові кейси в одній машині в певний момент, можуть бути певні обмеження, і іноді однієї машини буде недостатньо для запуску всіх тестових кейсів, і в цей момент роль селеної сітки входить.
Один практичний приклад використання селенової сітки
2-3 роки тому Китай заборонив продукти Google у цій країні. На той час деяким іншим компаніям, які розробляли веб-системи для Китаю, довелося протестувати свою веб-систему в інших браузерах, окрім продуктів Google (Google Chrome), таких як Internet Explorer, Firefox, Opera тощо.
Тоді на той час сітка Selenium була дуже корисною для цих компаній, оскільки вони використовували сітку Selenium для запуску своїх тестових кейсів у різних браузерах, крім Google Chrome.
Що таке Docker?
Простіше кажучи, Docker можна назвати контейнером. Розробники або користувачі Docker можуть помістити в цей контейнер такі речі, як бази даних, бібліотеки, залежності, а потім використовувати ці бази даних, залежності та бібліотеки для створення, розгортання та запуску програм.
Використовуючи контейнери Docker, ви можете налаштувати та упакувати програмний додаток із усім вмістом, необхідним для побудови цього додатка, таким як бази даних, бібліотеки та інші залежності, і, нарешті, ви можете відправити їх як один пакет.
Зазвичай під час налаштування сітки Selenium нам потрібно розмістити декілька віртуальних машин як вузлів, і нам потрібно з'єднати кожен вузол з концентратором. Крім того, коли ми встановлюємо звичайну сітку, нам потрібно завантажити файл jar сервера Selenium і запустити цей файл jar на кожному комп’ютері, на якому ми збираємося налаштувати сітку Selenium.
Це досить дороге, а часом і трудомістке завдання для тестувальників. Однак Docker допомагає нам вирішити пов'язані з витратами та трудомісткі проблеми.
Docker був винайдений Соломоном Хайкі і був запущений в індустрію програмного забезпечення в березні 2013 року як інструмент з відкритим кодом. На сьогодні розробники та системні інженери використовують Docker з кількох причин.
У цьому підручнику ми збираємося використовувати Docker для тестування програмного забезпечення та автоматизації програмного забезпечення.
Передумови для підручника з Docker Selenium
Перш за все, нам потрібно створити середовище для запуску сценарію Selenium.
Нижче наведено кілька речей, які нам потрібно перевірити:
- Якщо ваш апарат складається з JDK 1.7 або пізнішої версії
- Чи встановлені браузери Chrome та Firefox на вашій локальній машині?
- Тестові приклади на основі селену WebDriver та TestNG.
- Налаштований файл Testng.xml для запуску тестів як паралельних тестів.
Завантаження Docker для Windows
Наступне, що нам потрібно зробити, це встановити панель інструментів Docker. Для запуску команд Docker нам потрібен термінал швидкого запуску Docker, який поставляється разом із набором інструментів Docker. Отже, ми повинні встановити набір інструментів Docker.
Ми можемо завантажити набір інструментів Docker з будь-якого веб-сайту, але я настійно рекомендую вам завантажити набір інструментів Docker з їх офіційного веб-сайту: Докер .
Під час встановлення набору інструментів Docker з’явиться кілька прапорців, і для завершення встановлення потрібно встановити всі ці прапорці та встановити набір інструментів Docker. Якщо ви успішно встановили його, ви отримаєте наступні три піктограми панелі інструментів Docker.
Після встановлення набору інструментів Docker двічі клацніть і відкрийте термінал швидкого запуску Docker. Docker налаштує вашу машину за замовчуванням з IP-адресою: 192.168.99.100, і це займе деякий час, щоб налаштувати вашу локальну машину вперше. Отже, вам доведеться почекати, поки не з’явиться наступне вікно.
Docker успішно налаштовано!
Встановіть зображення Docker
Поки ми налаштовуємо сітку Selenium (без Docker), нам також потрібно налаштувати концентратор і вузли Selenium (браузери).
Як і звичайна сітка, коли ми налаштовуємо сітку Selenium за допомогою Docker, нам потрібно встановити вузли та вузли браузера в наш контейнер Docker, а пізніше ми можемо запустити концентратор і вузли з цього контейнера Docker.
Отже, перше, що потрібно, це встановити образи концентратора та вузла в Docker.
Спочатку нам потрібно встановити п’ять зображень, щоб запустити наш тест за допомогою Docker.
- Зображення концентратора селену
- Зображення селенового вузла-firefox
- Селеновий вузол-хромоване зображення
- Зображення селену node-firefox-налагодження
- Зображення вузла-хрому-налагодження селену
Наступним питанням буде, як знайти ці зображення. Щоб знайти ці зображення, ми переходимо до Docker Hub і шукайте ці зображення за іменем, а також можна ввести назву зображення в рядку пошуку, як показано нижче.
Після введення імені та натискання клавіші Enter ви зможете побачити вікно нижче.
У цьому вікні показано всі сховища зображень, які ми маємо для концентратора Selenium. Тут потрібно натиснути на зображення, яке має найбільшу кількість знімків, і це допоможе запустити наш код без помилок. Після натискання цього зображення ви побачите інше вікно, подібне до наведеного нижче.
(Примітка:Клацніть на будь-яке зображення, щоб збільшити його)
Це вікно надасть вам всю інформацію про зображення (зображення концентратора Selenium) і надасть вам усі команди, що мають відношення до цього зображення (зображення концентратора Selenium). Тут команда Docker pull - це команда встановити цей образ Docker у ваш контейнер.
Отже, спочатку ми повинні встановити образ концентратора Selenium. Для цього вам потрібно скопіювати команду Docker pull та вставити її в термінал швидкого запуску Docker, як показано нижче.
Після введення кожної команди в термінал швидкого запуску Docker вам потрібно почекати деякий час, щоб дозволити зображенням завантажуватися у ваш контейнер Docker, і час очікування повністю залежить від швидкості вашого мережевого з'єднання. Іноді деякі зображення виходять з ладу під час встановлення або завантаження, і якщо це трапляється, то найкраще зробити це встановити це зображення ще раз, поки термінал не покаже завершення інсталяції.
Іншим важливим фактором є те, що не слід вводити другу команду до завершення завантаження першої команди. Не вдасться завантажити та встановити.
Так само ви можете шукати та встановлювати всі п’ять зображень, згаданих вище, у своєму контейнері Docker.
У таблиці нижче наведені всі команди витягування, які потрібно ввести в термінал Quickstart та встановити.
Зображення | Команда |
---|---|
Селеновий концентратор | докер тягне селен / концентратор |
Вузол селену firefox | докер тягне селен / node-firefox |
Вузол хромового селену | докер тягне селен / вузол-хром |
Налагодження селену Firefox | docker витягнути селен / node-firefox-налагодження |
Налагодження хрому селену | докер тягне селен / вузол-хром-налагодження |
Після завантаження всіх зображень у ваш контейнер ви можете перевірити їх за допомогою наведеної нижче команди.
Зображення Docker
Тепер усі зображення успішно завантажені. Отже, ми можемо запускати ці зображення по одному.
Запустіть концентратор селену
У звичайній сітці селену (без Docker) першим кроком є запуск концентратора селену. Для запуску концентратора Selenium із контейнера Docker ми маємо спеціальну команду, яка є
docker run -d -p 4444: 4444 –name селен-концентратор селен / концентратор
Щойно ви введете та введете цю команду у своєму терміналі, концентратор Selenium буде відкритий із контейнера Docker. Ви можете перевірити, чи запустився концентратор Selenium чи ні, перейшовши за таким посиланням у вашому браузері: http://192.168.99.100:4444/grid/console
Тут на цьому зображенні 192.168.99.100 - ваша IP-адреса
Запустіть селенові вузли
Запускається концентратор селену, а потім нам потрібно запустити вузли з контейнера Docker, нам потрібно запустити хром-вузол та вузол Firefox. Ми встановили обидва зображення вузлів у наш контейнер Docker в процесі встановлення.
Тепер почнемо з обох вузлів по одному. Також пам’ятайте, що ви можете запускати скільки завгодно вузлів. Тут я використовував лише два вузли (хром-вузол та вузол Firefox).
Команда для запуску chrome node з Docker: docker run -d –link селен-концентратор: концентратор селен / вузол-хром
Команда для запуску вузла firefox з Docker: docker run -d –link селен-концентратор: концентратор селен / node-firefox
Після запуску вузла Chrome та вузла Firefox нам також потрібно запустити вузол налагодження Chrome та вузол налагодження Firefox. Ми запускаємо та встановлюємо chrome-налагоджувальний вузол та Firefox-налагоджувальний вузол для демонстраційних цілей, і в кінці цього підручника я запущу тестовий приклад в обох вузлах налагодження за допомогою засобу перегляду VNC (Virtual Network Computing).
Для засобу перегляду VNC нам потрібні як налагоджувальний вузол Firefox, так і Chrome. Засіб перегляду VNC (Virtual Network Computing) допомагає нам переглядати різні дії браузера одночасно на одному комп’ютері.
Команда для запуску chrome-налагоджувального вузла з Docker: docker run -d –P –link селен-концентратор: концентратор селен / вузол-хром-налагодження
Команда для запуску вузла налагодження Firefox з Docker: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
Іноді обидві команди можуть бути проігноровані терміналом швидкого запуску Docker. Якщо ваш термінал швидкого запуску Docker ігнорує ці дві команди, тоді ви можете скористатися наведеними нижче командами для запуску режиму налагодження браузерів chrome та Firefox.
Альтернатива 01
запуск докера –d –P –посилання селен-концентратор: концентратор селен / вузол-хром-налагодження
запуск докера –d –P –посилання селен-концентратор: концентратор селен / node-firefox-налагодження
Альтернатива 02
запуск докера –d –посилання селен-концентратор: концентратор селен / вузол-хром-налагодження
docker run –d –link selenium-hub: hub selenium / node-firefox-debug
Після запуску як вузлів, так і вузлів налагодження Chrome і Firefox, а також chrome і Firefox, ви можете оновити браузер, і ви знайдете Firefox і chrome node, починаючи з вашого контейнера.
Якщо під час встановлення або запуску зображень виникає помилка, найкраще повторно встановити та запустити це конкретне зображення знову з Docker.
Тепер ми виконали всі кроки на стороні контейнера Docker. Далі нам потрібно звернути увагу на сценарій Selenium та переглядач VNC для демонстрації.
По-перше, нам потрібно визначити номери портів запущених вузлів налагодження chrome та firefox. Оскільки нам потрібні ці номери портів для перегляду VNC.
Щоб визначити номери портів вузла chrome та Firefox, ви можете ввести команду нижче у своєму терміналі швидкого запуску, і ви зможете побачити всі зображення Docker та запущені порти кожного зображення під стовпцем PORTS.
докер ps - a
Вузли | Запуск номерів портів |
---|---|
Вузол налагодження Chrome | 32771 |
Вузол налагодження Firefox | 32772 |
Тепер ми знаємо номери портів запущених вузлів налагодження chrome та firefox, щоб ми могли запускати обидва браузери за допомогою засобу перегляду VNC.
Для цього нам потрібно виконати наведені нижче кроки:
1) Завантажте програму перегляду VNC з їх офіційного сайту: Завантажте VNC
2) Запусти його
3) Введіть URL-адресу концентратора та номер порту кожного режиму налагодження, як показано нижче, і натисніть кнопку підключення
URL-адреса HUB : НОМЕР ПОРТУ
- Для браузера Chrome 192.168.99.100 : 32771
як переглянути файл
4) Після натискання кнопки підключення програма VNC viewer запитає пароль. За замовчуванням пароль для VNC Viewer - таємний , введіть пароль як таємний і натисніть кнопку Ok, і ви зможете побачити вікно для браузера chrome.
5) Так само вам потрібно зробити те саме для браузера Firefox, використовуючи переглядач VNC. Відкрийте програму VNC на своєму локальному комп’ютері та використовуйте номер запущеного порту Firefox із URL-адресою концентратора та натисніть кнопку підключення.
- Для браузера Firefox 192.168.99.100 : 32772
Знову ви побачите ще одне вікно, що відкривається для браузера Firefox.
Тепер обидва браузери відображаються у засобі перегляду VNC. Наше наступне завдання - написати сценарій селену та запустити його.
Налаштування тестів на селен
Як зазвичай, ми можемо створити тестовий скрипт, який має відношення до селенової сітки, кроки до створення селенової скриптової сітки обговорюються в нашому підручник із селенової сітки .
Ось сценарій, який я створив, це звичайний сценарій селену, і я створив два тести і встановив бажані можливості цих тестів для двох різних браузерів, які ми створили.
Крім того, я змінив свій XML-файл для паралельного запуску тесту.
Ми виконали всі кроки, і ви можете запустити тест зараз. Після запуску тесту ви зможете побачити тест, який працює у двох різних браузерах, створених нами за допомогою Docker. Засіб перегляду VNC покаже, як браузер переходить до кожного веб-сайту одночасно.
Висновок
Коли у вас велика кількість тестових кейсів, ви можете використовувати сітку Selenium для прискорення виконання тестових кейсів. Іноді нам доводиться запускати та тестувати ваші тести під різними операційними системами, а іноді вам доводиться перевіряти свої тести в різних браузерах. У таких випадках ми використовуємо сітчасту сітку.
Іноді налаштування сітки Selenium може бути дорогим та трудомістким процесом, оскільки нам потрібні кілька машин. У таких випадках найкращим варіантом буде використання сітки селену з Docker.
Рекомендована література
- Підручник із селенової сітки: Налаштування та приклад крос-браузерного тестування
- Підручник з огірка селену: інтеграція огірка Java Selenium WebDriver
- Вступ до Selenium WebDriver - Підручник з селену №8
- Поглиблені підручники Eclipse для початківців
- Ефективні сценарії сценаріїв та усунення несправностей селену - Підручник селену No27
- Налагодження сценаріїв селену за допомогою журналів (Підручник Log4j) - Підручник селену No26
- 30+ найкращих підручників із селену: вивчіть селен на реальних прикладах
- Вступ до JUnit Framework та його використання в сценарії селену - Підручник з селену No11