docker selenium tutorial
Uvod u Docker Vodič za selen:
Kao što je raspravljeno u jednom od naših prethodni tutorial Selenska mreža pomaže u izvršavanju naših testnih slučajeva u različitim operativnim sustavima i na različitim preglednicima.
Međutim, ovo Vodič za Docker Selenium objasnit će vam više o tome što je Docker i kako ga preuzimamo, instaliramo i integriramo u mrežu Selenium zajedno sa dotičnim snimkama zaslona, a ovaj slikovni prikaz omogućit će vam da brzo i lako razumijete postupak.
Što ćete naučiti:
- Što je selenska rešetka?
- Jedan praktični primjer upotrebe selenske rešetke
- Što je Docker?
- Preduvjeti za Vodič za Docker Selenium
- Preuzimanje Dockera za Windows
- Instalirajte Docker slike
- Pokrenite Selenium Hub
- Pokrenite čvorove selena
- Konfiguriranje testova selena
- Zaključak
- Preporučena literatura
Što je selenska rešetka?
Selenska mreža pomaže u svladavanju računala (čvorišta) za distribuciju testnih slučajeva među slave uređajima (čvorovima).
Kada u nekom trenutku implementiramo sve test slučajeve u jednom stroju, mogu postojati određena ograničenja, a ponekad jedan jedini stroj neće biti dovoljan za pokretanje svih test slučajeva, a ta vremenska razdoblja mreža Selenium ulazi u ulogu.
Jedan praktični primjer upotrebe selenske rešetke
Prije 2-3 godine Kina je zabranila Googleove proizvode u toj zemlji. U to su vrijeme neke druge tvrtke koje su razvijale web sustave za Kinu morale testirati svoj web sustav s različitim preglednicima, osim Googleovih proizvoda (Google Chrome), kao što su Internet Explorer, Firefox, Opera itd.
Dakle, u to je vrijeme Selenium grid bio vrlo koristan za te tvrtke, jer su koristile Selenium grid za pokretanje svojih test slučajeva u različitim preglednicima, osim u Google Chromeu.
Što je Docker?
Jednostavno rečeno, Docker se može nazvati kontejnerom. Programeri ili korisnici Dockera mogu u taj spremnik staviti stvari kao što su baza podataka, knjižnice, ovisnosti, a zatim te baze podataka, ovisnosti i knjižnice koristiti za stvaranje, implementaciju i pokretanje aplikacija.
Korištenjem Dockerovih spremnika možete postaviti i spakirati softversku aplikaciju sa svim sadržajem koji je potreban za izradu te aplikacije, kao što su baze podataka, knjižnice i druge ovisnosti, i na kraju, sve ih možete poslati kao jedan paket.
Tijekom konfiguracije mreže Selenium obično moramo ugostiti više virtualnih strojeva kao čvorove i svaki čvor moramo povezati s čvorištem. Također, kada postavljamo normalnu mrežu, moramo preuzeti datoteku jar-a poslužitelja Selenium i pokrenuti tu datoteku jar-a na svakom računalu na kojem ćemo postaviti mrežu selenium-a.
To je skup i ponekad dugotrajan zadatak ispitivača. Međutim, Docker nam pomaže u rješavanju problema vezanih uz troškove i vremena.
Docker je izumio Solomon Hykey, a u softversku je industriju lansiran 2013. u ožujku kao alat otvorenog koda. Danas programeri i sistemski inženjeri koriste Docker iz nekoliko razloga.
U ovom uputstvu koristit ćemo Docker za testiranje softvera i automatizaciju softvera.
Preduvjeti za Vodič za Docker Selenium
Prije svega, moramo postaviti okruženje za pokretanje skripte Selenium.
Slijedi nekoliko stvari koje moramo provjeriti:
- Ako se vaš stroj sastoji od JDK 1.7 ili novije verzije
- Jesu li preglednici Chrome i Firefox instalirani na vašem lokalnom računalu?
- Test slučajevi temeljeni na seleniju WebDriver i TestNG.
- Konfigurirana datoteka Testng.xml za pokretanje test slučajeva kao paralelnih testova.
Preuzimanje Dockera za Windows
Sljedeća stvar koju moramo učiniti je instalirati alatni okvir Docker. Za pokretanje Dockerovih naredbi potreban nam je Docker terminal za brzo pokretanje koji će se isporučiti s Dockerovim alatnim okvirom. Stoga moramo instalirati Dockerov alatni okvir.
Kutiju alata Docker možemo preuzeti s bilo kojeg web mjesta, ali toplo bih preporučio da ga preuzmete s njihove službene web stranice: Lučki radnik .
Tijekom instaliranja Dockerovog okvira s alatima pojavit će se nekoliko potvrdnih okvira, a da biste dovršili instalaciju, morate označiti sve te potvrdne okvire i instalirati Dockerov alatni okvir. Ako ste ga uspješno instalirali, dobit ćete sljedeće tri ikone Dockerovog alata.
Nakon instalacije Dockerovog alata dvokliknite i otvorite Docker terminal za brzi početak. Docker će konfigurirati vaš zadani stroj s IP adresom: 192.168.99.100 i trebat će neko vrijeme da prvi put konfigurira vaš lokalni stroj. Stoga morate pričekati dok se ne pojavi sljedeći prozor.
Docker je uspješno konfiguriran!
Instalirajte Docker slike
Iako konfiguriramo mrežu Selenium (bez Dockera), također moramo konfigurirati čvorište i čvorove Selenium (preglednici).
Kao i normalna mreža kada konfiguriramo mrežu Selenium s Dockerom, moramo instalirati čvorište i čvorove preglednika u naš Docker spremnik, a kasnije i čvorište i čvorove možemo pokrenuti iz tog Dockerovog spremnika.
Stoga je prva stvar instalirati slike čvorišta i čvorova u Docker.
gdje je mrežni sigurnosni ključ na usmjerivaču
U početku moramo instalirati pet slika da bismo pokrenuli test pomoću Dockera.
- Slika čvorišta selena
- Slika čvora selena-firefox
- Slika selen čvor-krom
- Slika čvora selena-firefox-otklanjanja pogrešaka
- Slika selen-čvor-krom-otklanjanje pogrešaka
Sljedeće pitanje bit će, kako pronaći te slike. Da bismo pronašli one slike prelazimo na Docker Hub i pretražite te slike po imenu, a također možete upisati ime slike u traku za pretraživanje kao što je prikazano dolje.
Jednom kada upišete ime i pritisnete enter, moći ćete vidjeti donji prozor.
Ovaj prozor prikazuje sva spremišta slika koja imamo za Selenium hub. Ovdje trebate kliknuti na sliku koja ima najveći broj povlačenja i to će vam pomoći da pokrenete naš kôd bez grešaka. Jednom kada kliknete tu sliku, vidjet ćete još jedan prozor poput dolje navedenog.
(Bilješka:Kliknite bilo koju sliku za uvećani prikaz)
Ovaj će vam prozor pružiti sve informacije o slici (slika čvorišta Selenium) i dat će vam sve naredbe relevantne za tu sliku (slika čvorišta Selenium). Ovdje je naredba Docker povuci naredba za instaliranje te slike Dockera u vaš spremnik.
Stoga u početku moramo instalirati sliku čvorišta Selenium. Da biste to učinili, morate kopirati naredbu Docker pull i zalijepiti je u Docker terminal za brzo pokretanje kao što je prikazano dolje.
Nakon unosa svake naredbe u Docker terminal za brzi start, trebate pričekati neko vrijeme da se slike preuzmu u vaš Docker spremnik, a vrijeme čekanja u potpunosti ovisi o brzini vaše mrežne veze. Ponekad neke slike neće uspjeti tijekom instalacije ili preuzimanja, a ako se to dogodi, najbolje je ponovno instalirati tu sliku dok se terminal ne pokaže kao završena instalacija.
Drugi važan čimbenik je da ne biste trebali upisivati drugu naredbu prije dovršetka preuzimanja prve naredbe. Neće uspjeti ni preuzimanje ni instalacija.
Isto tako, možete pretraživati i instalirati svih pet gore spomenutih slika u svoj Docker spremnik.
Donja tablica prikazuje sve naredbe za povlačenje koje trebate upisati u terminal Quickstart i instalirati.
Slika | Naredba |
---|---|
Selen čvorište | docker pull selen / glavčina |
Čvor krijesnice selena | docker pull selenium / node-firefox |
Čvor čvora selen | docker pull selen / čvor-krom |
Otklanjanje grešaka u selenu firefoxu | docker pull selenium / node-firefox-debug |
Otklanjanje pogrešaka selen kromom | docker pull selen / node-chrome-debug |
Nakon preuzimanja svih slika u svoj spremnik možete ga provjeriti pomoću naredbe u nastavku.
Docker slike
Sada su sve slike uspješno preuzete. Stoga te slike možemo pokretati jednu po jednu.
Pokrenite Selenium Hub
U normalnoj rešetki selena (bez Dockera) prvi je korak pokretanje čvorišta selena. Za pokretanje čvorišta Selenium iz spremnika Docker imamo posebnu naredbu koja je
docker run -d -p 4444: 4444 –ime selenium-hub selenium / hub
Jednom kada utipkate i unesete tu naredbu u terminal, selenium hub će se otvoriti iz spremnika Docker. Možete provjeriti je li selenium hub pokrenut ili ne provjerom sljedeće veze u vašem pregledniku: http://192.168.99.100:4444/grid/console
Ovdje na ovoj slici 192.168.99.100 je vaša IP adresa
Pokrenite čvorove selena
Pokrenuto je središte selena, a zatim moramo pokrenuti čvorove iz Docker spremnika, moramo pokrenuti krom čvor i Firefox čvor. Obje smo slike čvora instalirali u naš Docker spremnik u procesu instalacije.
Počnimo s oba čvora jedan po jedan. Također, imajte na umu da možete pokretati onoliko čvorova koliko želite. Ovdje sam koristio samo dva čvora (chrome čvor i Firefox čvor).
Naredba za pokretanje chrome čvora iz Dockera: docker run -d –veza selen-čvorište: čvorište selen / čvor-krom
Naredba za pokretanje čvora firefox iz Dockera: docker run -d –link selenium-hub: hub selenium / node-firefox
Nakon pokretanja čvora Chrome i čvora Firefox, moramo pokrenuti i čvor za otklanjanje pogrešaka Chrome i čvor za otklanjanje pogrešaka Firefox. Izvodimo i instaliramo čvor za otklanjanje pogrešaka chrome i čvor za otklanjanje pogrešaka Firefox u svrhu demonstracije, a na kraju ovog vodiča pokrenut ću testni slučaj u oba čvora za otklanjanje pogrešaka pomoću VNC (Virtual Network Computing) preglednika.
Za VNC preglednik trebamo i čvor za uklanjanje pogrešaka firefox i chrome. VNC (Virtual Network Computing) preglednik pomaže nam istovremeno pregledavati različite radnje preglednika na jednom računalu.
Naredba za pokretanje kroma za otklanjanje pogrešaka iz Dockera: docker run -d –P –link selenium-hub: hub selenium / node-chrome-debug
Naredba za pokretanje Firefoxovog čvora za otklanjanje pogrešaka iz Dockera: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
Docker terminal za brzi start ponekad može zanemariti obje naredbe. Ako vaš Docker terminal za brzi početak ignorira te dvije naredbe, tada možete upotrijebiti naredbe u nastavku za pokretanje načina otklanjanja pogrešaka preglednika chrome i Firefox.
Alternativa 01
izvršavanje dockera –d –P –veza selen-čvorište: čvorište selen / čvor-krom-otklanjanje grešaka
izvršavanje dockera –d –P –povezava čvorište selena: čvorište selen / čvor-firefox-otklanjanje pogrešaka
Alternativa 02
izvršavanje dockera –d –povezava čvorište selena: čvorište selen / čvor-krom-otklanjanje pogrešaka
izvršavanje dockera –d –povezivanje selena-čvorišta: čvorište selen / čvor-firefox-otklanjanje pogrešaka
Nakon pokretanja i čvorova i čvorova za uklanjanje pogrešaka čvorova Chrome i Firefox te chrome i Firefox možete osvježiti svoj preglednik i Firefox i chrome čvor pronaći ćete počevši od vašeg spremnika.
Ako se tijekom instalacije ili pokretanja slika dogodi bilo kakva pogreška, najbolje je ponovno instalirati i ponovo pokrenuti tu određenu sliku iz Dockera.
Sada smo dovršili sve korake na strani spremnika Docker. Dalje, moramo obratiti pažnju na skriptu Selenium i VNC preglednik za našu demonstraciju.
Prvo, moramo identificirati brojeve priključaka za otklanjanje pogrešaka chrome i firefox koji su pokrenuti. Budući da trebamo te brojeve priključaka za VNC preglednik.
Da biste identificirali brojeve priključaka chrome i Firefox čvora, možete utipkati donju naredbu u terminal za brzo pokretanje i moći ćete vidjeti sve Dockerove slike i pokrenute portove svake slike ispod stupca PORTS.
lučki radnik ps - a
Čvorovi | Pokretanje brojeva priključaka |
---|---|
Čvor za uklanjanje pogrešaka Chrome | 32771 |
Čvor za uklanjanje pogrešaka Firefox | 32772 |
Sada znamo brojeve priključaka chrome i firefox čvorova za otklanjanje pogrešaka koji se izvode, tako da možemo pokrenuti oba preglednika pomoću VNC preglednika.
Za to moramo slijediti korake dane u nastavku:
1) Preuzmite VNC preglednik sa njihove službene stranice: Preuzmite VNC
2) Pokreni ga
3) Upišite URL čvorišta i broj priključka svakog načina otklanjanja pogrešaka kao što je prikazano u nastavku i kliknite gumb za povezivanje
URL HUB-a : BROJ LUKE
- Za preglednik Chrome 192.168.99.100 : 32771
4) Nakon klika na gumb za povezivanje VNC preglednik će zatražiti lozinku. Prema zadanim postavkama lozinka za VNC preglednik je tajna , upišite lozinku kao tajna i kliknite U redu i moći ćete vidjeti prozor za Chrome preglednik.
5) Isto tako, morate učiniti isto za preglednik Firefox pomoću VNC preglednika. Otvorite VNC aplikaciju na vašem lokalnom računalu i upotrijebite Firefoxov broj porta s URL-om čvorišta i kliknite gumb za povezivanje.
- Za preglednik Firefox 192.168.99.100 : 32772
Ponovno ćete vidjeti još jedan prozor za preglednik Firefox.
Sada su oba preglednika prikazana u VNC pregledniku. Naš je sljedeći zadatak napisati skriptu selena i pokrenuti je.
Konfiguriranje testova selena
Kao i obično, možemo stvoriti testnu skriptu koja je relevantna za selenovu mrežu, koraci za stvaranje skripte za selensku mrežu razmatrani su u našoj udžbenik za selensku mrežu .
Evo skripte koju sam stvorio, ovo je normalna skripta za selen i stvorio sam dva testa i postavio sam željenu sposobnost tih testova na dva različita preglednika koja smo stvorili.
Također, promijenio sam XML datoteku kako bih paralelno pokrenuo test.
Završili smo sve korake i sada možete pokrenuti test. Nakon pokretanja testa moći ćete vidjeti test kako se izvodi kroz dva različita preglednika koja smo stvorili pomoću Dockera. VNC preglednik prikazat će kako preglednik istovremeno prelazi na svaku web stranicu.
Zaključak
Kada imate velik broj testnih slučajeva, možete koristiti mrežu Selenium za ubrzavanje izvršavanja testnih slučajeva. Ponekad moramo pokrenuti i testirati vaše testne slučajeve pod različitim operativnim sustavima, a ponekad morate provjeriti svoje testne slučajeve i pod različitim preglednicima. U takvim prilikama koristimo mrežu selena.
Povremeno konfiguriranje mreže Selenium može biti skup i dugotrajan postupak jer trebamo više računala. U takvim će slučajevima najbolja opcija biti upotreba mreže selena s Dockerom.
Preporučena literatura
- Vodič za selensku mrežu: Postavljanje i primjer testiranja u više preglednika
- Vodič za krastavac selenij: Integracija Java Selenium WebDriver krastavaca
- Uvod u Selenium WebDriver - Vodič za selen br. 8
- Dubinski vodiči za pomračenje za početnike
- Učinkoviti scenariji za skriptiranje i rješavanje problema sa selenijem - Vodič za selenij br. 27
- Otklanjanje pogrešaka u skriptama za selen sa zapisnicima (Vodič za Log4j) - Vodič za selen # 26
- 30+ najboljih vodiča za selen: naučite selen na stvarnim primjerima
- Uvod u JUnit Framework i njegovu upotrebu u skripti za selenij - Vodič za selen br. 11