docker selenium tutorial
Въведение в урока на Docker Selenium:
Както беше обсъдено в един от нашите предишен урок Селеновата мрежа помага да стартираме нашите тестови случаи в различни операционни системи и в различни браузъри.
Това обаче Урок за Docker Selenium ще ви обясни повече за това какво е Docker и как го изтегляме, инсталираме и интегрираме с мрежата на Selenium заедно със съответните екранни снимки и това изобразително представяне ще ви позволи да разберете процеса бързо и лесно също.
Какво ще научите:
- Какво представлява селеновата решетка?
- Един практичен пример за използване на селенова решетка
- Какво е Docker?
- Предварителни условия за урока по Docker Selenium
- Изтегляне на Docker за Windows
- Инсталирайте изображенията на Docker
- Стартирайте Selenium Hub
- Стартирайте селенови възли
- Конфигуриране на тестове за селен
- Заключение
- Препоръчително четене
Какво представлява селеновата решетка?
Решетката от селен помага за овладяване на компютъра (концентратора) за разпределяне на тестови случаи между подчинените машини (възли).
Когато внедрим всички тестови случаи в една машина в даден момент, може да има някои ограничения и понякога една машина няма да е достатъчна, за да изпълни всички тестови случаи и този момент от време Селенската мрежа влиза в ролята.
Един практичен пример за използване на селенова решетка
Преди 2-3 години Китай забрани продуктите на Google в страната. По това време някои други компании, които разработиха уеб системи за Китай, трябваше да тестват своята уеб система с различни браузъри с изключение на продукти на Google (Google Chrome) като Internet Explorer, Firefox, Opera и т.н.
Така че по това време мрежата на Selenium беше много полезна за тези компании, тъй като те използваха мрежата на Selenium за провеждане на тестовите си случаи в различни браузъри, с изключение на Google Chrome.
Какво е Docker?
С прости думи, Docker може да се нарече контейнер. Разработчиците или потребителите на Docker могат да поставят неща като база данни, библиотеки, зависимости в този контейнер и след това да използват тези бази данни, зависимости и библиотеки за създаване, внедряване и стартиране на приложения.
Използвайки контейнери на Docker, можете да настроите и опаковате софтуерно приложение с цялото съдържание, необходимо за изграждането на това приложение, като бази данни, библиотеки и други зависимости, и накрая, можете да ги изпратите като един пакет.
Обикновено, докато конфигурираме мрежата на Selenium, трябва да хостваме множество виртуални машини като възли и трябва да свързваме всеки отделен възел с концентратора. Също така, когато настройваме нормална мрежа, трябва да изтеглим файла на сървъра на 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 Toolbox.
как тествате уеб услуги
След като инсталирате кутията с инструменти на Docker, щракнете двукратно и отворете терминала за бързо стартиране на Docker. Docker ще конфигурира вашата машина по подразбиране с IP адрес: 192.168.99.100 и ще отнеме известно време, за да конфигурира вашата локална машина за първи път. Следователно трябва да изчакате, докато се появи следният прозорец.
Docker е конфигуриран успешно!
Инсталирайте изображенията на Docker
Докато конфигурираме мрежата на Selenium (без Docker), ние също трябва да конфигурираме концентратора и възлите на Selenium (браузъри).
Подобно на обикновена мрежа, когато конфигурираме мрежата на Selenium с Docker, трябва да инсталираме възлите на хъба и браузъра в нашия контейнер на Docker и по-късно, можем да стартираме концентратора и възлите от този контейнер на Docker.
Следователно първото нещо е да инсталирате изображенията на концентратора и възлите в Docker.
Първоначално трябва да инсталираме пет изображения, за да стартираме нашия тест с помощта на Docker.
- Изображение на селен хъб
- Изображение на селен възел-firefox
- Изображение от селен възел-хром
- Изображение на селен node-firefox-debug
- Изображение на селен възел-хром-отстраняване на грешки
Следващият въпрос ще бъде как да намерите тези изображения. За да намерим тези изображения, преминаваме към Docker Hub и търсете тези изображения по име и можете също да въведете името на изображението в лентата за търсене, както е показано по-долу.
След като въведете името и натиснете Enter, ще можете да видите прозореца по-долу.
Този прозорец показва всички хранилища на изображения, които имаме за Selenium hub. Тук трябва да щракнете върху изображението, което има най-голям брой изтегляния и това ще ви помогне да стартирате нашия код без никакви грешки. След като щракнете върху това изображение, ще видите друг прозорец като този, даден по-долу.
(Забележка:Щракнете върху всяко изображение за увеличен изглед)
Този прозорец ще ви предостави цялата информация за изображението (изображение на концентратора на Selenium) и ще ви даде всички команди, свързани с това изображение (изображение на концентратора на Selenium). Тук командата Docker pull е командата за инсталиране на това изображение на Docker във вашия контейнер.
Следователно първоначално трябва да инсталираме образа на хъба на Selenium. За да направите това, трябва да копирате командата на Docker pull и да я поставите в терминала за бързо стартиране на Docker, както е показано по-долу.
След като въведете всяка команда в терминала за бързо стартиране на Docker, трябва да изчакате известно време, за да позволите на изображенията да се изтеглят във вашия контейнер на Docker и времето за изчакване напълно зависи от скоростта на вашата мрежова връзка. Понякога някои изображения ще се провалят по време на инсталиране или изтегляне и ако това се случи, най-доброто нещо, което трябва да направите, е да инсталирате това изображение отново, докато терминалът се покаже като завършена инсталация.
Друг важен фактор е, че не трябва да се въвежда втората команда, преди да завършите изтеглянето на първата команда. Ще се провали както изтеглянето, така и инсталирането.
По същия начин можете да търсите и инсталирате всички пет споменати по-горе изображения във вашия контейнер на Docker.
Таблицата по-долу показва всички команди за изтегляне, които трябва да въведете в терминала за бързо стартиране и да инсталирате.
Изображение | Команда |
---|---|
Селен хъб | докер дръпнете селен / хъб |
Възел на селен огън | докер дръпнете селен / node-firefox |
Възел от селен хром | докер дърпа селен / възел-хром |
Отстраняване на грешки в селенен Firefox | докер издърпайте селен / node-firefox-debug |
Отстраняване на грешки от селен хром | докер издърпайте селен / възел-хром-отстраняване на грешки |
След като изтеглите всички изображения във вашия контейнер, можете да го проверите, като използвате командата по-долу.
Docker Изображения
Сега всички изображения се изтеглят успешно. Следователно можем да стартираме тези изображения едно по едно.
Стартирайте Selenium Hub
В нормална решетка на селен (без Docker) първата стъпка е да стартирате хелен селен. За да стартираме хъба на Selenium от контейнера на Docker, имаме специална команда, която е
docker run -d -p 4444: 4444 –име селен-концентратор селен / концентратор
След като въведете и въведете тази команда във вашия терминал, концентраторът Selenium ще бъде отворен от контейнера на Docker. Можете да проверите дали Selenium hub е стартирал или не, като проверите следната връзка във вашия браузър: http://192.168.99.100:4444/grid/console
Тук на това изображение 192.168.99.100 е вашият IP адрес
Стартирайте селенови възли
Стартира се хъбът на селен и след това трябва да стартираме възли от контейнера на Docker, трябва да стартираме хром възел и възел Firefox. Инсталирахме и двете изображения на възела в нашия контейнер на Docker в процеса на инсталиране.
Сега, нека започнем с двата възела един по един. Също така не забравяйте, че можете да изпълнявате колкото възли желаете. Тук съм използвал само два възела (хром възел и възел Firefox).
Команда за стартиране на хром възел от Docker: docker run -d –link селен-концентратор: концентратор селен / възел-хром
Команда за стартиране на възел на firefox от Docker: docker run -d –link селен-концентратор: концентратор селен / node-firefox
След като стартираме възел Chrome и възел Firefox, трябва да стартираме и възел за отстраняване на грешки Chrome и възел за отстраняване на грешки Firefox. Изпълняваме и инсталираме възела за отстраняване на грешки chrome и възела за отстраняване на грешки Firefox за демонстрационни цели и в края на този урок ще изпълня тестов случай и в двата възела за отстраняване на грешки, като използвам VNC (Virtual Network Computing) viewer.
java метод, който взема масив
За визуализатора на VNC се нуждаем както от отстраняващия грешки възел на firefox, така и от chrome. VNC (Virtual Network Computing) визуализатор ни помага да преглеждаме различни действия на браузъра едновременно на един компютър.
Команда за стартиране на chrome debug възел от Docker: docker run -d –P –link селен-концентратор: концентратор селен / възел-хром-отстраняване на грешки
Команда за стартиране на Firefox възел за отстраняване на грешки от Docker: docker run -d –P –link селен-концентратор: концентратор селен / възел-firefox-отстраняване на грешки
Понякога и двете команди могат да бъдат игнорирани от терминала за бързо стартиране на Docker. Ако вашият терминал за бързо стартиране на Docker игнорира тези две команди, алтернативно можете да използвате командите по-долу, за да стартирате режима за отстраняване на грешки в браузърите chrome и Firefox.
Алтернатива 01
докер стартиране –d –P –връзка селен-концентратор: концентратор селен / възел-хром-отстраняване на грешки
докер стартиране –d –P –връзка селен-концентратор: концентратор селен / възел-firefox-отстраняване на грешки
Алтернатива 02
docker run –d –link селен-концентратор: концентратор селен / възел-хром-отстраняване на грешки
docker run –d –link selenium-hub: hub selenium / node-firefox-debug
След като стартирате както възлите, така и възлите за отстраняване на грешки на възлите на Chrome и Firefox и chrome и Firefox, можете да опресните браузъра си и ще намерите Firefox и chrome node, започвайки от вашия контейнер.
Ако по време на инсталацията или стартирането на изображения възникне грешка, най-доброто нещо, което трябва да направите, е да преинсталирате и стартирате това конкретно изображение отново от Docker.
Вече изпълнихме всички стъпки от страната на контейнера на Docker. След това трябва да обърнем внимание на скрипта на Selenium и VNC viewer за демонстрацията ни.
Първо, трябва да идентифицираме номерата на портовете за отстраняване на грешки на chrome и firefox, които се изпълняват. Тъй като ние изискваме тези номера на портове за VNC viewer.
За да идентифицирате номерата на портовете на chrome и Firefox възел, можете да въведете командата по-долу в терминала си за бързо стартиране и ще можете да видите всички изображения на Docker и работещите портове на всяко изображение под колоната PORTS.
докер ps - a
Възли | Работещи номера на портове |
---|---|
Възел за отстраняване на грешки в Chrome | 32771 |
Възел за отстраняване на грешки в Firefox | 32772 |
Сега знаем номерата на портовете на изпълняващите се грешки за отстраняване на грешки chrome и firefox, за да можем да стартираме и двата браузъра, използвайки VNC viewer.
За това трябва да следваме стъпките, дадени по-долу:
1) Изтеглете VNC viewer от официалния им сайт: Изтеглете VNC
2) Пусни го
3) Въведете URL адреса на концентратора и номера на порта на всеки режим за отстраняване на грешки, както е показано по-долу, и кликнете върху бутона за свързване
URL адрес на HUB : НОМЕР НА ПРИСТАНИЩЕ
- За браузър Chrome 192.168.99.100 : 32771
4) След като щракнете върху бутона за свързване, VNC viewer ще поиска парола. По подразбиране паролата за VNC viewer е тайна , въведете паролата като тайна и щракнете върху Ok и ще можете да видите прозорец за браузъра chrome.
е мрежовият ключ wifi паролата
5) По същия начин трябва да направите същото за браузъра Firefox, като използвате VNC преглед. Отворете приложението VNC на вашия локален компютър и използвайте номера на работещия порт на Firefox с URL адреса на концентратора и щракнете върху бутона за свързване.
- За браузъра Firefox 192.168.99.100 : 32772
Отново ще видите още един прозорец, отварящ се за браузъра Firefox.
Сега и двата браузъра се показват във визуализатора на VNC. Следващата ни задача е да напишем скрипта за селен и да го стартираме.
Конфигуриране на тестове за селен
Както обикновено, можем да създадем тестов скрипт, който е от значение за селеновата мрежа, стъпките за създаване на скрипт за селенова мрежа са обсъдени в нашата урок за решетка на селен .
Ето скрипта, който създадох, това е нормален селен скрипт и създадох два теста и зададох желаната способност на тези тестове на два различни браузъра, които създадохме.
Също така промених своя XML файл, за да стартирам теста по паралелен начин.
Изпълнихме всички стъпки и можете да стартирате теста си сега. След като стартирате теста си, ще можете да видите теста, който се изпълнява през два различни браузъра, създадени от нас с помощта на Docker. VNC viewer ще покаже как браузърът се придвижва до всеки уебсайт едновременно.
Заключение
Когато имате голям брой тестови случаи, можете да използвате решетката Selenium за ускоряване на изпълнението на вашите тестови случаи. Понякога трябва да стартираме и тестваме вашите тестови случаи под различни операционни системи, а понякога трябва да проверявате и тестовите случаи под различни браузъри. При такива случаи използваме решетката от селен.
Понякога конфигурирането на мрежата на Selenium може да бъде процес с висока цена и отнема много време, тъй като се нуждаем от множество машини. В такива случаи най-добрият вариант ще бъде използването на Selenium Grid с Docker.
Препоръчително четене
- Урок за селенова мрежа: Настройка и пример за тестване на различни браузъри
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Уроци за задълбочено затъмнение за начинаещи
- Ефективни сценарии за скриптове и отстраняване на неизправности при селен - Урок №27 за селен
- Отстраняване на грешки в скриптове за селен с регистрационни файлове (Урок за Log4j) - Урок за селен # 26
- 30+ най-добри урока за селен: Научете селен с реални примери
- Въведение в JUnit Framework и нейното използване в Selenium Script - Селен Урок # 11