docker selenium tutorial
Introducere în Docker Selenium Tutorial:
Așa cum s-a discutat într-unul dintre documentele noastre tutorialul anterior Grila de seleniu ne ajută să rulăm testele noastre în diferite sisteme de operare și pe diferite browsere.
Cu toate acestea, acest lucru Tutorial Docker Selenium vă va explica mai multe despre ce este un Docker și cum îl descărcăm, îl instalăm și îl integrăm cu grila Selenium împreună cu capturile de ecran în cauză, iar această reprezentare picturală vă va permite să înțelegeți procesul și ușor.
Ce veți învăța:
- Ce este Selenium Grid?
- Un exemplu practic de utilizare a rețelei de seleniu
- Ce este Docker?
- Cerințe preliminare pentru Docker Selenium Tutorial
- Descărcarea Docker pentru Windows
- Instalați imaginile Docker
- Porniți Selenium Hub
- Porniți Selenium Nodes
- Configurarea testelor de seleniu
- Concluzie
- Lectură recomandată
Ce este Selenium Grid?
Rețeaua de seleniu ajută la stăpânirea computerului (hub) pentru a distribui cazuri de testare între mașinile slave (noduri).
Când implementăm toate cazurile de testare într-o singură mașină la un moment dat, ar putea exista unele limitări și, uneori, o singură mașină nu va fi suficientă pentru a rula toate cazurile de testare, iar acel moment al grilei de seleniu intră în rol.
Un exemplu practic de utilizare a rețelei de seleniu
Acum 2-3 ani, China a interzis produsele Google în țară. În acel moment, alte companii care au dezvoltat sisteme web pentru China au trebuit să-și testeze sistemul web cu diferite browsere, cu excepția produselor Google (Google Chrome), cum ar fi Internet Explorer, Firefox, Opera etc.
Deci, la acel moment, grila Selenium era foarte utilă pentru acele companii, deoarece foloseau grila Selenium pentru a-și executa testele în diferite browsere, cu excepția Google Chrome.
Ce este Docker?
În termeni simpli, Docker poate fi denumit container. Programatorii sau utilizatorii Docker pot pune lucruri precum baze de date, biblioteci, dependențe în acel container și apoi pot folosi acele baze de date, dependențe și biblioteci pentru a crea, implementa și rula aplicații.
Prin utilizarea containerelor Docker, puteți configura și împacheta o aplicație software cu tot conținutul necesar pentru a construi acea aplicație, cum ar fi baze de date, biblioteci și alte dependențe, și, în cele din urmă, le puteți expedia pe toate ca un singur pachet.
De obicei, în timp ce configurăm grila Selenium, trebuie să găzduim mai multe mașini virtuale ca noduri și trebuie să conectăm fiecare nod cu hub-ul. De asemenea, atunci când configurăm o grilă normală, trebuie să descărcăm fișierul jar al serverului Selenium și să rulăm acel fișier jar pe fiecare computer în care vom configura grila Selenium.
Aceasta este costisitoare și uneori o sarcină care necesită mult timp pentru testeri. Cu toate acestea, Docker ne ajută să rezolvăm problemele legate de costuri și consumatoare de timp.
Docker a fost inventat de Solomon Hykey și a fost lansat în industria software în martie 2013 ca instrument open-source. În zilele noastre, dezvoltatorii și inginerii de sistem utilizează Docker din mai multe motive.
În acest tutorial, vom folosi Docker pentru testarea software-ului și automatizarea software-ului.

Cerințe preliminare pentru Docker Selenium Tutorial
În primul rând, trebuie să configurăm un mediu pentru a rula scriptul Selenium.
Mai jos sunt câteva lucruri pe care trebuie să le verificăm:
- Dacă aparatul dvs. este format din JDK 1.7 sau o versiune ulterioară
- Browserele Chrome și Firefox sunt instalate pe computerul dvs. local?
- Selenium WebDriver și TestNG bazate pe cazuri de testare.
- Fișier Testng.xml configurat pentru a rula cazuri de testare ca teste paralele.
Descărcarea Docker pentru Windows
Următorul lucru pe care trebuie să-l facem este să instalăm caseta de instrumente Docker. Pentru a rula comenzile Docker, avem nevoie de terminalul de pornire rapidă Docker, care va veni împreună cu cutia de instrumente Docker. Prin urmare, trebuie să instalăm caseta de instrumente Docker.
Putem descărca cutia de instrumente Docker de pe orice site web, însă, vă recomand cu tărie să descărcați cutia de instrumente Docker de pe site-ul lor oficial: Docher .
În timp ce instalați caseta de instrumente Docker, vor apărea câteva casete de selectare, iar pentru a finaliza instalarea, trebuie să bifați toate acele casete de selectare și să instalați caseta de instrumente Docker. Dacă l-ați instalat cu succes, veți obține următoarele trei pictograme ale casetei de instrumente Docker.

După instalarea cutiei de instrumente Docker, faceți dublu clic și deschideți terminalul de pornire rapidă Docker. Docker vă va configura mașina implicită cu adresa IP: 192.168.99.100 și va dura ceva timp pentru a configura mașina dvs. locală pentru prima dată. Prin urmare, trebuie să așteptați până când apare următoarea fereastră.

ce este qa și qc în testarea software-ului
Docker este configurat cu succes!
Instalați imaginile Docker
În timp ce configurăm grila Selenium (fără Docker), trebuie să configurăm și hub-ul și nodurile Selenium (browsere).
La fel ca o rețea normală atunci când configurăm rețeaua Selenium cu Docker, trebuie să instalăm nodurile de hub și browser în containerul nostru Docker și mai târziu, putem porni hub-ul și nodurile din acel container Docker.
Prin urmare, primul lucru este să instalați imaginile hub și nod în Docker.
Inițial, trebuie să instalăm cinci imagini pentru a rula testul folosind Docker.
- Imagine hub seleniu
- Imagine nod seleniu-firefox
- Imagine nod seleniu-crom
- Imagine nod de seleniu-firefox-depanare
- Imagine nod de seleniu-crom-depanare
Următoarea întrebare va fi, cum să găsiți acele imagini. Pentru a găsi acele imagini trecem la Docker Hub și căutați aceste imagini după nume și puteți, de asemenea, să tastați numele imaginii în bara de căutare, așa cum se arată mai jos.

După ce introduceți numele și apăsați Enter, veți putea vedea fereastra de mai jos.

Această fereastră afișează toate depozitele de imagini pe care le avem pentru Selenium hub. Aici trebuie să faceți clic pe imaginea cu cel mai mare număr de extrageri și vă va ajuta să rulați codul nostru fără erori. După ce faceți clic pe acea imagine, veți vedea o altă fereastră ca cea dată mai jos.
(Notă:Faceți clic pe orice imagine pentru o vizualizare mărită)

Această fereastră vă va oferi toate informațiile despre imagine (imaginea hub-ului Selenium) și vă va oferi toate comenzile relevante pentru acea imagine (imaginea hub-ului Selenium). Aici, comanda Docker pull este comanda pentru a instala acea imagine Docker în container.
Prin urmare, inițial, trebuie să instalăm imaginea hubului Selenium. Pentru aceasta, trebuie să copiați comanda Docker pull și să o lipiți în terminalul de pornire rapidă Docker, așa cum se arată mai jos.

După introducerea fiecărei comenzi în terminalul de pornire rapidă Docker, trebuie să așteptați ceva timp pentru a permite descărcarea imaginilor în containerul Docker, iar timpul de așteptare depinde complet de viteza conexiunii la rețea. Uneori, unele imagini vor eșua în timpul instalării sau descărcării și, dacă se întâmplă, atunci cel mai bun lucru de făcut este să instalați din nou imaginea respectivă până când terminalul apare pe măsură ce instalarea este finalizată.
Un alt factor important este acela că nu trebuie să tastați a doua comandă înainte de a finaliza descărcarea primei comenzi. Va eșua atât descărcarea, cât și instalarea.
La fel, puteți căuta și instala toate cele cinci imagini menționate mai sus în containerul Docker.
Tabelul de mai jos prezintă toate comenzile pull pe care trebuie să le introduceți în terminalul Quickstart și să le instalați.
| Imagine | Comanda |
|---|---|
| Butuc de seleniu | docker trage seleniu / butuc |
| Nodul Firefox Selenium | docker trage seleniu / nod-firefox |
| Nod crom seleniu | docker trage seleniu / nod-crom |
| Depanare Firefox Selenium | docker trage seleniu / nod-firefox-depanare |
| Depanare crom seleniu | docker pull selenium / node-chrome-debug |
După descărcarea tuturor imaginilor în container, puteți să le verificați folosind comanda de mai jos.
Imagini Docker

Acum toate imaginile sunt descărcate cu succes. Prin urmare, putem rula aceste imagini una câte una.
Porniți Selenium Hub
Într-o rețea normală de Seleniu (fără Docker), primul pas este să porniți hub-ul Selenium. Pentru a porni hub-ul Selenium din containerul Docker, avem o comandă specială care este
docker run -d -p 4444: 4444 –nume seleniu-hub seleniu / hub

Odată ce tastați și introduceți acea comandă în terminalul dvs., hubul Selenium va fi deschis din containerul Docker. Puteți verifica dacă Selenium hub a pornit sau nu, verificând următorul link din browser: http://192.168.99.100:4444/grid/console

Aici în această imagine 192.168.99.100 este adresa dvs. IP
Porniți Selenium Nodes
Hubul Selenium este pornit și apoi, trebuie să pornim nodurile din containerul Docker, trebuie să pornim nodul Chrome și nodul Firefox. Am instalat atât imaginile nodului în containerul nostru Docker în procesul de instalare.
Acum, să începem cu ambele noduri unul câte unul. De asemenea, nu uitați că puteți rula câte noduri doriți. Aici am folosit doar două noduri (nodul crom și nodul Firefox).
Comandă pentru a rula nodul crom de la Docker: docker run -d –link selenium-hub: hub seleniu / nod-crom
Comandă pentru a rula nodul Firefox de la Docker: docker run -d –link selenium-hub: hub seleniu / nod-firefox

După executarea nodului Chrome și a nodului Firefox, trebuie să rulăm și nodul de depanare Chrome și nodul de depanare Firefox. Rulăm și instalăm nodul de depanare Chrome și nodul de depanare Firefox în scop demonstrativ și la sfârșitul acestui tutorial, voi rula un caz de testare în ambele noduri de depanare utilizând vizualizatorul VNC (Virtual Network Computing).
Pentru vizualizatorul VNC avem nevoie atât de nodul de depanare firefox, cât și de Chrome. Vizualizatorul VNC (Virtual Network Computing) ne ajută să vizualizăm diferite acțiuni ale browserului în același timp pe un computer.
cum se deschid fișiere SWF în Chrome
Comandă pentru a rula nodul de depanare Chrome de la Docker: docker run -d –P –link selenium-hub: hub seleniu / nod-chrome-debug
Comandă pentru a rula nodul de depanare Firefox din Docker: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
Uneori, ambele comenzi pot fi ignorate de terminalul de pornire rapidă Docker. Dacă terminalul dvs. de pornire rapidă Docker ignoră aceste două comenzi, atunci puteți utiliza comenzile de mai jos pentru a porni modul de depanare al browserelor Chrome și Firefox.
Alternativa 01
docker run –d –P –link selenium-hub: hub seleniu / nod-chrome-debug
docker run –d –P –link selenium-hub: hub selenium / node-firefox-debug
Alternativa 02
docker run –d –link selenium-hub: hub selenium / node-chrome-debug
docker run –d –link selenium-hub: hub selenium / node-firefox-debug

După ce rulați atât nodurile, cât și nodurile de depanare ale nodurilor Chrome și Firefox și Chrome și Firefox, vă puteți reîmprospăta browserul și veți găsi Firefox și nodul Chrome începând de la container.

Dacă apare vreo eroare în timpul instalării sau procesului de executare a imaginilor, cel mai bun lucru de făcut este să reinstalați și să rulați din nou acea imagine particulară din Docker.
Am finalizat acum toți pașii din partea containerului Docker. Apoi, trebuie să acordăm atenție scriptului Selenium și vizualizatorului VNC pentru a ne demonstra.
În primul rând, trebuie să identificăm numerele de porturi ale nodurilor de depanare Chrome și Firefox care rulează. Deoarece avem nevoie de acele numere de port pentru vizualizatorul VNC.
Pentru a identifica numerele de port ale nodului Chrome și Firefox, puteți tasta comanda de mai jos în terminalul de pornire rapidă și veți putea vedea toate imaginile Docker și porturile care rulează pentru fiecare imagine sub coloana PORTS.
docher ps - a

| Noduri | Executarea numerelor de port |
|---|---|
| Nod de depanare Chrome | 32771 |
| Nod de depanare Firefox | 32772 |
Acum, cunoaștem numerele de porturi ale nodurilor de depanare Chrome și Firefox care rulează, astfel încât să putem porni ambele browsere utilizând vizualizatorul VNC.
Pentru aceasta, trebuie să urmăm pașii de mai jos:
1) Descărcați VNC viewer de pe site-ul lor oficial: Descărcați VNC
Două) Rulați-l
3) Tastați adresa URL a hub-ului și numărul de port al fiecărui mod de depanare așa cum se arată mai jos și faceți clic pe butonul de conectare
URL HUB : NUMARUL PORTULUI
- Pentru browserul Chrome 192.168.99.100 : 32771

4) După ce faceți clic pe butonul de conectare, vizualizatorul VNC vă va cere o parolă. În mod implicit, parola pentru vizualizatorul VNC este secret , tastați parola ca secret și faceți clic pe Ok și veți putea vedea o fereastră pentru browserul Chrome.
cel mai bun mod de a converti videoclipuri YouTube în mp3
5) La fel, trebuie să faceți același lucru și pentru browserul Firefox utilizând un vizualizator VNC. Deschideți aplicația VNC pe computerul dvs. local și utilizați numărul de port care rulează Firefox cu adresa URL a hubului și faceți clic pe butonul de conectare.
- Pentru browserul Firefox 192.168.99.100 : 32772
Din nou, veți vedea o altă fereastră care se deschide pentru browserul Firefox.

Acum ambele browsere sunt afișate în vizualizatorul VNC. Următoarea noastră sarcină este să scriem scriptul de seleniu și să-l rulăm.
Configurarea testelor de seleniu
Ca de obicei, putem crea un script de test care este relevant pentru grila de seleniu, pașii pentru crearea unui script de grilă de seleniu sunt discutate în tutorial grilă de seleniu .
Iată scriptul pe care l-am creat, acesta este un script normal de seleniu și am creat două teste și am stabilit capacitatea dorită a acestor teste la două browsere diferite pe care le-am creat.

De asemenea, mi-am schimbat fișierul XML pentru a rula testul în mod paralel.

Am parcurs toți pașii și puteți rula testul acum. După rularea testului, veți putea vedea testul rulând prin două browsere diferite pe care le-am creat folosind Docker. Vizualizatorul VNC va arăta cum navigează un browser către fiecare site în același timp.

Concluzie
Când aveți un număr mare de cazuri de testare, puteți utiliza grila Selenium pentru a accelera execuțiile cazurilor de testare. Uneori trebuie să rulăm și să testăm cazurile de testare în diferite sisteme de operare, iar uneori trebuie să verificăm cazurile de testare și în diferite browsere. Folosim grila de seleniu în astfel de ocazii.
Uneori, configurarea rețelei de seleniu poate fi un proces care implică un cost ridicat și consumă mult timp, deoarece avem nevoie de mai multe mașini. În astfel de cazuri, cea mai bună opțiune va fi utilizarea grilei de seleniu cu Docker.
Lectură recomandată
- Selenium Grid Tutorial: Configurare și exemplu de testare a browserului încrucișat
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver
- Introducere în Selenium WebDriver - Tutorial Selenium # 8
- Tutoriale detaliate pentru eclipsă pentru începători
- Scenarii eficiente cu scripturi și depanare Selenium - Tutorial Selenium # 27
- Depanarea scripturilor Selenium cu jurnale (Tutorial Log4j) - Tutorial Selenium # 26
- 30+ Cele mai bune tutoriale despre seleniu: învățați seleniul cu exemple reale
- Introducere în JUnit Framework și utilizarea sa în Selenium Script - Selenium Tutorial # 11