docker selenium tutorial
Wprowadzenie do samouczka Docker Selenium:
Jak omówiono w jednym z naszych poprzedni tutorial Siatka selenium pomaga uruchamiać nasze przypadki testowe w różnych systemach operacyjnych i na różnych przeglądarkach.
Jednak to Samouczek Docker Selenium wyjaśni ci więcej o tym, czym jest Docker i jak pobieramy, instalujemy i integrujemy go z siatką Selenium wraz z odpowiednimi zrzutami ekranu, a ta graficzna reprezentacja pozwoli ci szybko i łatwo zrozumieć proces.
Czego się nauczysz:
- Co to jest siatka selenowa?
- Jeden praktyczny przykład wykorzystania siatki selenowej
- Co to jest Docker?
- Wymagania wstępne dla samouczka Docker Selenium
- Pobieranie Dockera dla systemu Windows
- Zainstaluj obrazy platformy Docker
- Uruchom Selenium Hub
- Uruchom węzły Selenium
- Konfigurowanie testów selenium
- Wniosek
- rekomendowane lektury
Co to jest siatka selenowa?
Siatka selenowa pomaga opanować komputer (koncentrator) w celu rozproszenia przypadków testowych między maszynami podrzędnymi (węzłami).
Kiedy wdrażamy wszystkie przypadki testowe na jednej maszynie, w pewnym momencie mogą wystąpić pewne ograniczenia, a czasami jedna maszyna nie wystarczy do uruchomienia wszystkich przypadków testowych i w tym momencie do roli wchodzi siatka Selenium.
Jeden praktyczny przykład wykorzystania siatki selenowej
2-3 lata temu Chiny zakazały korzystania z usług Google w tym kraju. W tym czasie inne firmy, które tworzyły systemy sieciowe dla Chin, musiały przetestować swój system sieciowy z różnymi przeglądarkami z wyjątkiem produktów Google (Google Chrome), takich jak Internet Explorer, Firefox, Opera itp.
W tamtych czasach siatka Selenium była bardzo przydatna dla tych firm, ponieważ korzystały one z siatki Selenium do uruchamiania swoich przypadków testowych w różnych przeglądarkach poza Google Chrome.
Co to jest Docker?
Mówiąc prościej, Docker można określić jako kontener. Deweloperzy lub użytkownicy platformy Docker mogą umieszczać takie elementy, jak baza danych, biblioteki, zależności w tym kontenerze, a następnie używać tych baz danych, zależności i bibliotek do tworzenia, wdrażania i uruchamiania aplikacji.
Korzystając z kontenerów Docker, możesz skonfigurować i spakować aplikację z całą zawartością wymaganą do zbudowania tej aplikacji, taką jak bazy danych, biblioteki i inne zależności, a na koniec możesz wysłać je wszystkie jako jeden pakiet.
Zwykle podczas konfigurowania siatki Selenium musimy hostować wiele maszyn wirtualnych jako węzły i musimy połączyć każdy węzeł z hubem. Ponadto, kiedy ustawiamy normalną siatkę, musimy pobrać plik jar serwera Selenium i uruchomić ten plik jar na każdym komputerze, na którym mamy zamiar skonfigurować siatkę Selenium.
Jest to kosztowne i czasami czasochłonne zadanie dla testerów. Jednak Docker pomaga nam rozwiązywać problemy związane z kosztami i czasochłonnymi.
Docker został wynaleziony przez Solomona Hykeya i został wprowadzony do branży oprogramowania w marcu 2013 roku jako narzędzie open source. Obecnie programiści i inżynierowie systemowi używają Dockera z kilku powodów.
W tym samouczku będziemy używać Dockera do testowania oprogramowania i automatyzacji oprogramowania.
Wymagania wstępne dla samouczka Docker Selenium
Przede wszystkim musimy ustawić środowisko do uruchamiania skryptu Selenium.
Poniżej podano kilka rzeczy, które musimy sprawdzić:
- Jeśli twoja maszyna składa się z JDK 1.7 lub nowszej wersji
- Czy na komputerze lokalnym są zainstalowane przeglądarki Chrome i Firefox?
- Przypadki testowe oparte na Selenium WebDriver i TestNG.
- Skonfigurowano plik Testng.xml do uruchamiania przypadków testowych jako testów równoległych.
Pobieranie Dockera dla systemu Windows
Następną rzeczą, którą musimy zrobić, jest zainstalowanie zestawu narzędzi Docker. Aby uruchomić polecenia Dockera, potrzebujemy terminala szybkiego uruchamiania Dockera, który będzie dostarczany wraz z przybornikiem Docker. Dlatego musimy zainstalować zestaw narzędzi Docker.
Możemy pobrać zestaw narzędzi Docker z dowolnej strony internetowej, ale bardzo polecam pobranie zestawu narzędzi Docker z ich oficjalnej strony internetowej: Doker .
Podczas instalowania przybornika Dockera pojawi się kilka pól wyboru, a aby zakończyć instalację, należy zaznaczyć wszystkie te pola wyboru i zainstalować przybornik Dockera. Jeśli pomyślnie go zainstalowałeś, otrzymasz następujące trzy ikony przybornika Docker.
Po zainstalowaniu przybornika Docker kliknij dwukrotnie i otwórz terminal szybkiego startu Dockera. Docker skonfiguruje domyślny komputer z adresem IP: 192.168.99.100, a konfiguracja komputera lokalnego po raz pierwszy zajmie trochę czasu. Dlatego musisz poczekać, aż pojawi się następujące okno.
Docker został skonfigurowany pomyślnie!
Zainstaluj obrazy platformy Docker
Podczas gdy konfigurujemy siatkę Selenium (bez Dockera), musimy również skonfigurować koncentrator i węzły Selenium (przeglądarki).
Podobnie jak normalna siatka, kiedy konfigurujemy siatkę Selenium za pomocą Dockera, musimy zainstalować węzły koncentratora i przeglądarki w naszym kontenerze Docker, a później możemy uruchomić koncentrator i węzły z tego kontenera Dockera.
Dlatego pierwszą rzeczą jest zainstalowanie obrazów centrum i węzła w Dockerze.
Początkowo musimy zainstalować pięć obrazów, aby uruchomić nasz test za pomocą Dockera.
- Obraz centrum selenu
- Obraz Selenium node-firefox
- Obraz węzła selenu-chrome
- Obraz debugowania węzła selenu-firefox-debug
- Obraz selenium node-chrome-debug
Następnym pytaniem będzie, jak znaleźć te obrazy. Aby znaleźć te obrazy, przechodzimy do Docker Hub i wyszukaj te obrazy według nazwy, a także możesz wpisać nazwę obrazu w pasku wyszukiwania, jak pokazano poniżej.
Po wpisaniu nazwy i naciśnięciu Enter, zobaczysz poniższe okno.
To okno pokazuje wszystkie repozytoria obrazów, które mamy dla centrum Selenium. Tutaj musisz kliknąć obraz, który ma największą liczbę ściągnięć, a pomoże to uruchomić nasz kod bez żadnych błędów. Po kliknięciu tego obrazu zobaczysz kolejne okno, takie jak podane poniżej.
(Uwaga:Kliknij dowolny obraz, aby uzyskać powiększony widok)
To okno zawiera wszystkie informacje o obrazie (obraz centrum Selenium) i wszystkie polecenia dotyczące tego obrazu (obraz centrum Selenium). W tym przypadku polecenie ściągania platformy Docker jest poleceniem instalowania tego obrazu platformy Docker w kontenerze.
Dlatego na początku musimy zainstalować obraz centrum Selenium. Aby to zrobić, musisz skopiować polecenie Docker pull i wkleić je do terminala szybkiego uruchamiania Docker, jak pokazano poniżej.
Po wprowadzeniu każdego polecenia w terminalu szybkiego uruchamiania Docker, musisz poczekać chwilę, aby umożliwić pobieranie obrazów do kontenera Docker, a czas oczekiwania całkowicie zależy od szybkości połączenia sieciowego. Czasami niektóre obrazy nie powiodą się podczas instalacji lub pobierania, a jeśli tak się stanie, najlepiej jest zainstalować ten obraz ponownie, aż terminal pokaże, że instalacja została zakończona.
Innym ważnym czynnikiem jest to, że nie należy wpisywać drugiej komendy przed zakończeniem pobierania pierwszej komendy. Nie powiedzie się zarówno pobieranie, jak i instalacja.
Podobnie możesz wyszukać i zainstalować wszystkie pięć obrazów wymienionych powyżej w swoim kontenerze Docker.
W poniższej tabeli przedstawiono wszystkie polecenia ściągania, które należy wpisać w terminalu Quickstart i zainstalować.
Wizerunek | Komenda |
---|---|
Centrum selenu | docker pull selen / hub |
Węzeł selenowy firefox | docker pull selenium / node-firefox |
Węzeł chrom selenowy | docker pull selenium / node-chrome |
Debugowanie Selenium Firefox | docker pull selenium / node-firefox-debug |
Debugowanie selenu chrome | docker pull selenium / node-chrome-debug |
Po pobraniu wszystkich obrazów do swojego kontenera możesz to sprawdzić za pomocą poniższego polecenia.
Obrazy platformy Docker
Teraz wszystkie obrazy zostały pomyślnie pobrane. Dlatego możemy uruchamiać te obrazy jeden po drugim.
Uruchom Selenium Hub
W normalnej siatce Selenium (bez Dockera) pierwszym krokiem jest uruchomienie koncentratora Selenium. Aby uruchomić Selenium hub z kontenera Docker, mamy specjalne polecenie, którym jest
docker run -d -p 4444: 4444 -name selenium-hub selen / hub
Po wpisaniu i wprowadzeniu tego polecenia w terminalu centrum Selenium zostanie otwarte z kontenera Docker. Możesz sprawdzić, czy centrum Selenium zostało uruchomione, czy nie, sprawdzając poniższy link w przeglądarce: http://192.168.99.100:4444/grid/console
Tutaj na tym obrazku 192.168.99.100 to Twój adres IP
Uruchom węzły Selenium
Uruchamia się centrum Selenium, a następnie musimy uruchomić węzły z kontenera Dockera, musimy uruchomić węzeł chrome i węzeł Firefox. Zainstalowaliśmy oba obrazy węzłów w naszym kontenerze Docker w procesie instalacji.
Teraz zacznijmy od obu węzłów jeden po drugim. Pamiętaj też, że możesz uruchomić dowolną liczbę węzłów. Tutaj użyłem tylko dwóch węzłów (węzeł chrome i węzeł Firefox).
Polecenie do uruchomienia węzła chrome z Dockera: docker run -d –link selenium-hub: hub selenium / node-chrome
Polecenie do uruchomienia węzła firefox z Dockera: docker run -d –link selenium-hub: hub selenium / node-firefox
Po uruchomieniu węzła Chrome i węzła Firefox, musimy również uruchomić węzeł debugowania Chrome i węzeł debugowania Firefox. Uruchamiamy i instalujemy węzeł debugowania chrome i węzeł debugowania przeglądarki Firefox w celach demonstracyjnych, a pod koniec tego samouczka uruchomię przypadek testowy w obu węzłach debugowania za pomocą przeglądarki VNC (Virtual Network Computing).
W przypadku przeglądarki VNC potrzebujemy zarówno węzła debugowania Firefoksa, jak i Chrome. Przeglądarka VNC (Virtual Network Computing) pomaga nam wyświetlać różne działania przeglądarki w tym samym czasie na jednym komputerze.
Polecenie do uruchomienia węzła debugowania Chrome z Dockera: docker run -d –P –link selenium-hub: hub selenium / node-chrome-debug
Polecenie do uruchomienia węzła debugowania Firefoksa z Dockera: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
Czasami oba polecenia mogą zostać zignorowane przez terminal szybkiego uruchamiania Docker. Jeśli terminal szybkiego uruchamiania Dockera ignoruje te dwa polecenia, możesz alternatywnie użyć poniższych poleceń, aby uruchomić tryb debugowania przeglądarek Chrome i Firefox.
Alternatywa 01
docker run –d –P –link selenium-hub: hub selenium / node-chrome-debug
docker run –d –P –link selenium-hub: hub selenium / node-firefox-debug
Alternatywa 02
docker run –d –link selenium-hub: hub selenium / node-chrome-debug
docker run –d –link selenium-hub: hub selenium / node-firefox-debug
Po uruchomieniu zarówno węzłów, jak i węzłów debugowania węzłów Chrome i Firefox oraz chrome i Firefox, możesz odświeżyć przeglądarkę, a zobaczysz węzeł Firefox i chrome zaczynając od kontenera.
Jeśli podczas instalacji lub uruchamiania obrazów wystąpi jakikolwiek błąd, najlepiej jest ponownie zainstalować i ponownie uruchomić ten konkretny obraz z platformy Docker.
Zakończyliśmy już wszystkie kroki po stronie kontenera Docker. Następnie musimy zwrócić uwagę na skrypt Selenium i przeglądarkę VNC, aby wykonać naszą demonstrację.
Po pierwsze, musimy zidentyfikować numery portów uruchomionych węzłów debugowania Chrome i Firefox. Ponieważ wymagamy tych numerów portów dla przeglądarki VNC.
Aby zidentyfikować numery portów węzła chrome i Firefox, możesz wpisać poniższe polecenie w terminalu szybkiego startu, a zobaczysz wszystkie obrazy Dockera i uruchomione porty każdego obrazu w kolumnie PORTS.
doker ps - a
Węzły | Uruchamianie numerów portów |
---|---|
Węzeł debugowania Chrome | 32771 |
Węzeł debugowania przeglądarki Firefox | 32772 |
Teraz znamy numery portów uruchomionych węzłów debugowania Chrome i Firefox, dzięki czemu możemy uruchomić obie przeglądarki za pomocą przeglądarki VNC.
W tym celu musimy postępować zgodnie z poniższymi krokami:
1) Pobierz przeglądarkę VNC z ich oficjalnej strony: Pobierz VNC
dwa) Uruchom
3) Wpisz adres URL koncentratora i numer portu każdego trybu debugowania, jak pokazano poniżej, i kliknij przycisk Połącz
HUB URL : NUMER PORTU
- W przeglądarce Chrome 192.168.99.100 : 32771
4) Po kliknięciu przycisku Połącz przeglądarka VNC zapyta o hasło. Domyślne hasło do przeglądarki VNC to sekret wpisz hasło jako sekret i kliknij OK, a zobaczysz okno przeglądarki Chrome.
5) Podobnie musisz zrobić to samo dla przeglądarki Firefox, używając przeglądarki VNC. Otwórz aplikację VNC na komputerze lokalnym i użyj numeru portu uruchomionego Firefoksa z adresem URL koncentratora i kliknij przycisk połączenia.
- W przeglądarce Firefox 192.168.99.100 : 32772
Ponownie zobaczysz kolejne okno otwierające się w przeglądarce Firefox.
Teraz obie przeglądarki są widoczne w przeglądarce VNC. Naszym następnym zadaniem jest napisanie skryptu selenu i uruchomienie go.
Konfigurowanie testów selenium
Jak zwykle możemy stworzyć skrypt testowy, który jest odpowiedni dla siatki selenu, kroki tworzenia skryptu siatki selenu są omówione w naszym Samouczek dotyczący siatki selenowej .
Oto skrypt, który stworzyłem, jest to normalny skrypt selenowy. Stworzyłem dwa testy i ustawiłem pożądane możliwości tych testów na dwie różne przeglądarki, które stworzyliśmy.
Zmieniłem również plik XML, aby uruchomić test równolegle.
Zakończyliśmy wszystkie kroki i możesz teraz przeprowadzić test. Po uruchomieniu testu będziesz mógł zobaczyć, jak działa on w dwóch różnych przeglądarkach, które utworzyliśmy za pomocą Dockera. Przeglądarka VNC pokaże, w jaki sposób przeglądarka przechodzi do każdej witryny w tym samym czasie.
gdzie są pliki APK przechowywane na Androidzie
Wniosek
Jeśli masz dużą liczbę przypadków testowych, możesz użyć siatki Selenium, aby przyspieszyć wykonywanie przypadków testowych. Czasami musimy uruchamiać i testować Twoje przypadki testowe w różnych systemach operacyjnych, a czasami musisz również sprawdzać przypadki testowe w różnych przeglądarkach. Przy takich okazjach używamy siatki Selenium.
Czasami konfigurowanie siatki Selenium może być kosztownym i czasochłonnym procesem, ponieważ potrzebujemy wielu maszyn. W takich przypadkach najlepszą opcją będzie użycie Selenium Grid z Dockerem.
rekomendowane lektury
- Samouczek Selenium Grid: Konfiguracja i przykład testowania w różnych przeglądarkach
- Cucumber Selenium Tutorial: Cucumber Java Selenium Integracja WebDriver
- Wprowadzenie do Selenium WebDriver - samouczek Selenium # 8
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Efektywne skrypty Selenium i scenariusze rozwiązywania problemów - samouczek Selenium nr 27
- Debugowanie skryptów Selenium za pomocą dzienników (samouczek Log4j) - samouczek Selenium # 26
- 30+ najlepszych samouczków dotyczących selenu: naucz się selenu z prawdziwymi przykładami
- Wprowadzenie do JUnit Framework i jego wykorzystanie w skrypcie Selenium - Samouczek Selenium # 11