docker selenium tutorial
Uvod v vadnico Docker Selenium:
Kot je razloženo v enem od naših prejšnja vadnica Selenova mreža pomaga izvajati naše testne primere v različnih operacijskih sistemih in v različnih brskalnikih.
Vendar to Vadnica za Docker Selenium vam bo razložil več o tem, kaj je Docker in kako ga naložimo, namestimo in integriramo v mrežo Selenium skupaj z ustreznimi posnetki zaslona, ta slikovna predstavitev pa vam bo omogočila tudi hitro in enostavno razumevanje postopka.
Kaj se boste naučili:
- Kaj je selenska mreža?
- Eden od praktičnih primerov uporabe selenove mreže
- Kaj je Docker?
- Predpogoji za vadnico Docker Selenium
- Prenos Dockerja za Windows
- Namestite Docker Images
- Zaženite Selenium Hub
- Zaženite vozlišča selena
- Konfiguriranje testov za selen
- Zaključek
- Priporočeno branje
Kaj je selenska mreža?
Selenova mreža pomaga pri obvladovanju računalnika (zvezdišča) za porazdelitev testnih primerov med podrejenimi stroji (vozlišči).
Ko v določeni točki implementiramo vse testne primere v enem računalniku, lahko obstajajo nekatere omejitve in včasih en sam stroj ne bo dovolj za zagon vseh testnih primerov in v tem trenutku pride v poštev mreža Selenium.
Eden od praktičnih primerov uporabe selenove mreže
Pred 2-3 leti je Kitajska v državi prepovedala Googlove izdelke. Takrat so nekatera druga podjetja, ki so razvila spletne sisteme za Kitajsko, morala svoj spletni sistem preizkusiti z različnimi brskalniki, razen z Googlovimi izdelki (Google Chrome), kot so Internet Explorer, Firefox, Opera itd.
Torej je bila mreža Selenium v tistem času zelo koristna za ta podjetja, saj so mrežo Selenium uporabljali za izvajanje svojih testnih primerov v različnih brskalnikih, razen v Google Chromu.
Kaj je Docker?
Poenostavljeno povedano Docker lahko označimo kot posodo. Razvijalci ali uporabniki Dockerja lahko v ta vsebnik vnesejo stvari, kot so zbirka podatkov, knjižnice, odvisnosti, nato pa te zbirke podatkov, odvisnosti in knjižnice uporabijo za ustvarjanje, uvajanje in zagon aplikacij.
Z uporabo Dockerjevih vsebnikov lahko nastavite in zapakirate programsko aplikacijo z vso vsebino, potrebno za izdelavo te aplikacije, kot so zbirke podatkov, knjižnice in druge odvisnosti, na koncu pa jih lahko vse pošljete kot en paket.
Običajno moramo med konfiguriranjem mreže Selenium več vozlišč zasesti kot vozlišča in vsako vozlišče moramo povezati s zvezdiščem. Ko nastavimo običajno mrežo, moramo prenesti datoteko jar strežnika Selenium in jo zagnati v vsakem računalniku, v katerem bomo nastavili mrežo Selenium.
To je za preizkuševalce drago in včasih zamudno opravilo. Vendar nam Docker pomaga pri reševanju stroškovnih in dolgotrajnih težav.
Docker je izumil Solomon Hykey, marca 2013 pa je bil v odprtokodno orodje uveden v programsko industrijo. Danes razvijalci in sistemski inženirji uporabljajo Docker iz več razlogov.
V tej vadnici bomo uporabili Docker za testiranje programske opreme in avtomatizacijo programske opreme.
Predpogoji za vadnico Docker Selenium
Najprej moramo nastaviti okolje za zagon skripta Selenium.
Spodaj je nekaj stvari, ki jih moramo preveriti:
- Če je vaša naprava sestavljena iz JDK 1.7 ali novejše različice
- Ali sta brskalnika Chrome in Firefox nameščena na vašem lokalnem računalniku?
- Testni primeri na osnovi selena WebDriver in TestNG.
- Konfigurirana datoteka Testng.xml za zagon testnih primerov kot vzporednih testov.
Prenos Dockerja za Windows
Naslednja stvar, ki jo moramo storiti, je namestitev orodjarne Docker. Za zagon Dockerjevih ukazov potrebujemo Dockerjev terminal za hitri zagon, ki je priložen Dockerjevi orodjarni. Zato moramo namestiti Dockerjevo orodjarno.
Dockerjevo zbirko orodij lahko prenesemo s katerega koli spletnega mesta, vendar vam toplo priporočam, da jo prenesete z njihove uradne spletne strani: Docker .
Med namestitvijo orodjarne Docker se bo pojavilo nekaj potrditvenih polj, za dokončanje namestitve pa morate potrditi vsa ta polja in namestiti orodjarno Docker. Če ste ga uspešno namestili, boste dobili naslednje tri ikone orodjarne Docker.
Po namestitvi orodjarne Docker dvokliknite in odprite terminal za hitri zagon Docker. Docker bo vaš privzeti računalnik konfiguriral z naslovom IP: 192.168.99.100 in trajalo bo nekaj časa, da prvič konfigurirate vaš lokalni računalnik. Zato morate počakati, da se prikaže naslednje okno.
Docker je uspešno konfiguriran!
Namestite Docker Images
Medtem ko konfiguriramo mrežo Selenium (brez Dockerja), moramo konfigurirati tudi zvezdišče in vozlišča Selenium (brskalniki).
Kot običajna mreža, ko z Dockerjem konfiguriramo mrežo Selenium, moramo vozlišče in vozlišča brskalnika namestiti v naš Dockerjev kontejner, kasneje pa lahko zvezdišče in vozlišča zaženemo iz tega Dockerjevega vsebnika.
Zato je prva stvar, da v Docker namestite slike pesta in vozlišča.
Sprva moramo namestiti pet slik, da zaženemo test z Dockerjem.
- Slika pesta selena
- Slika selenovega vozlišča-firefox
- Slika selen vozlišče-krom
- Slika selenovega vozlišča-firefox-odpravljanja napak
- Slika za selen-vozlišče-krom-odpravljanje napak
Naslednje vprašanje bo, kako najti te slike. Da bi našli tiste slike, se premaknemo na Docker Hub in te slike poiščite po imenu, ime slike pa lahko vtipkate tudi v iskalno vrstico, kot je prikazano spodaj.
Ko vtipkate ime in pritisnete Enter, boste videli spodnje okno.
V tem oknu so prikazana vsa skladišča slik, ki jih imamo za zvezdišče Selenium. Tukaj morate klikniti sliko, ki ima največ potegov, in pomagala bo zagnati našo kodo brez napak. Ko kliknete to sliko, boste videli še eno okno, kot je spodnje.
ukaz grep v Linuxu s primeri
(Opomba:Kliknite katero koli sliko za povečan pogled)
V tem oknu boste našli vse informacije o sliki (slika zvezdišča Selenium) in vse ukaze, pomembne za to sliko (slika zvezdišča Selenium). Tu je ukaz Docker pull ukaz za namestitev te slike Dockerja v vaš vsebnik.
Zato moramo sprva namestiti sliko zvezdišča Selenium. Če želite to narediti, morate kopirati ukaz Docker pull in ga prilepiti v Dockerjev hitri zagon, kot je prikazano spodaj.
Po vnosu vsakega ukaza v terminal Docker za hitri zagon morate počakati nekaj časa, da se slike prenesejo v vaš Dockerjev vsebnik, čas čakanja pa je popolnoma odvisen od hitrosti vaše omrežne povezave. Včasih nekatere slike med namestitvijo ali prenosom ne bodo uspele in če se to zgodi, je najbolje, da to sliko znova namestite, dokler terminal ne pokaže, da je namestitev končana.
Drug pomemben dejavnik je, da ne smete vnesti drugega ukaza, preden dokončate prenos prvega ukaza. Ne bo uspelo tako pri prenosu kot pri namestitvi.
Prav tako lahko poiščete in namestite vseh pet zgoraj omenjenih slik v svoj vsebnik Docker.
Spodnja tabela prikazuje vse ukaze za vlečenje, ki jih morate vnesti v terminal Quickstart in namestiti.
Slika | Ukaz |
---|---|
Selen pesto | docker pull selen / pesto |
Vozlišče selen firefox | docker pull selen / node-firefox |
Vozlišče selen krom | docker pull selen / vozlišče-krom |
Odpravljanje napak selena firefox | docker pull selenium / node-firefox-debug |
Odpravljanje napak s selen kromom | docker pull selen / vozlišče-krom-odpravljanje napak |
Po prenosu vseh slik v vaš vsebnik lahko to preverite z uporabo spodnjega ukaza.
Slike Dockerja
Zdaj so vse slike uspešno prenesene. Zato lahko te slike zaženemo eno za drugo.
Zaženite Selenium Hub
V običajni mreži selena (brez Dockerja) je prvi korak zagon zvezdišča selena. Za zagon zvezdišča Selenium iz vsebnika Docker imamo poseben ukaz, ki je
docker run -d -p 4444: 4444 –ime selenium-hub selenium / hub
Ko vnesete in vnesete ta ukaz v terminal, bo zvezdišče Selenium odprto iz vsebnika Docker. S preverjanjem naslednje povezave v brskalniku lahko preverite, ali se je zvezdišče Selenium zagnalo ali ne: http://192.168.99.100:4444/grid/console
Tu je na tej sliki 192.168.99.100 vaš naslov IP
Zaženite vozlišča selena
Zagnano je zvezdišče selena in nato moramo vozlišča zagnati iz vsebnika Docker, zagnati moramo vozlišče chrome in vozlišče Firefox. Obe sliki vozlišča smo v namestitvenem procesu namestili v naš Dockerjev vsebnik.
Zdaj pa začnimo z obema vozliščema posebej. Ne pozabite tudi, da lahko zaženete poljubno število vozlišč. Tu sem uporabil samo dve vozlišči (vozlišče chrome in vozlišče Firefox).
Ukaz za zagon chrome vozlišča iz Dockerja: docker run -d –link selenium-hub: hub selenium / node-chrome
Ukaz za zagon vozlišča firefox iz Dockerja: docker run -d –link selenium-hub: hub selenium / node-firefox
Po zagonu vozlišča Chrome in vozlišča Firefox moramo zagnati še vozlišče za odpravljanje napak Chrome in vozlišče za odpravljanje napak Firefox. Za demonstracijo zaženemo in namestimo vozlišče za odpravljanje napak chrome in vozlišče za odpravljanje napak Firefox. Na koncu te vadnice bom z uporabo pregledovalnika VNC (Virtual Network Computing) izvedel testni primer v obeh vozliščih za odpravljanje napak.
Za pregledovalnik VNC potrebujemo vozlišče za odpravljanje napak Firefox in Chrome. Pregledovalnik VNC (Virtual Network Computing) nam pomaga, da si v enem računalniku hkrati ogledamo različna dejanja brskalnika.
Ukaz za zagon vozlišča za odpravljanje napak chrome iz Dockerja: docker run -d –P –link selenium-hub: hub selenium / node-chrome-debug
Ukaz za zagon vozlišča za odpravljanje napak Firefox iz Dockerja: docker run -d –P –link selenium-hub: hub selenium / node-firefox-debug
Dockerjev terminal za hitri zagon lahko včasih prezre oba ukaza. Če vaš Dockerjev terminal za hitri zagon ignorira ta dva ukaza, potem lahko uporabite spodnje ukaze za zagon načina za odpravljanje napak brskalnikov chrome in Firefox.
Alternativa 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
Alternativa 02
docker run –d –link selenium-hub: hub selenium / node-chrome-debug
docker run –d –link selenium-hub: hub selenium / node-firefox-debug
Po zagonu vozlišč in vozlišč za odpravljanje napak v vozliščih Chrome in Firefox ter chrome in Firefox lahko osvežite svoj brskalnik in Firefox in chrome vozlišče najdete v vašem vsebniku.
Če med namestitvijo ali izvajanjem slik pride do kakršne koli napake, je najbolje, da ponovno namestite in znova zaženete to sliko iz Dockerja.
Zdaj smo zaključili vse korake na strani vsebnika Docker. Nato moramo za predstavitev posvetiti pozornost skriptu Selenium in pregledovalniku VNC.
Najprej moramo prepoznati številke vrat za odpravljanje napak chrome in firefox, ki se izvajajo. Ker zahtevamo te številke vrat za pregledovalnik VNC.
Če želite prepoznati številke vrat chrome in vozlišča Firefox, lahko v terminalu za hitri zagon vnesete spodnji ukaz in v stolpcu PORTS boste videli vse slike Dockerja in delujoča vrata vsake slike.
docker ps - a
Vozlišča | Tečejo številke vrat |
---|---|
Vozlišče za odpravljanje napak v Chromu | 32771 |
Vozlišče za odpravljanje napak Firefox | 32772 |
Zdaj vemo številke vrat za odpravljanje napak chrome in firefox, ki se izvajajo, tako da lahko z brskalnikom VNC zaženemo oba brskalnika.
Za to moramo slediti spodnjim korakom:
1) Prenesite pregledovalnik VNC z njihove uradne strani: Prenesite VNC
2) Zaženi
3) Vnesite URL zvezdišča in številko vrat vsakega načina odpravljanja napak, kot je prikazano spodaj, in kliknite gumb za povezavo
URL HUB : ŠTEVILKA LUKE
- Za brskalnik Chrome 192.168.99.100 : 32771
4) Po kliku na gumb za povezavo bo VNC pregledovalnik zahteval geslo. Privzeto je geslo za pregledovalnik VNC skrivnost , vnesite geslo kot skrivnost in kliknite V redu in videli boste okno za brskalnik chrome.
5) Podobno morate storiti enako za brskalnik Firefox z uporabo pregledovalnika VNC. Odprite aplikacijo VNC v lokalnem računalniku in uporabite številko vrat Firefox, ki teče, z URL-jem zvezdišča in kliknite gumb za povezavo.
- Za brskalnik Firefox 192.168.99.100 : 32772
Spet boste videli še eno okno, ki se odpira za brskalnik Firefox.
Zdaj sta oba brskalnika prikazana v pregledovalniku VNC. Naša naslednja naloga je napisati skript selena in ga zagnati.
Konfiguriranje testov za selen
Kot ponavadi lahko ustvarimo testni skript, ki je pomemben za selenovo mrežo, koraki za ustvarjanje skripta selenove mreže pa so opisani v našem vadnica za mrežo iz selena .
Tukaj je skript, ki sem ga ustvaril, to je običajni skript selena in ustvaril sem dva testa in želene zmogljivosti teh testov nastavil na dva različna brskalnika, ki smo jih ustvarili.
Prav tako sem svojo datoteko XML spremenil tako, da je vzporedno tekel test.
Dokončali smo vse korake in preizkus lahko izvedete zdaj. Po izvedbi testa boste lahko videli, kako se test izvaja v dveh različnih brskalnikih, ki smo jih ustvarili z Dockerjem. Pregledovalnik VNC bo pokazal, kako brskalnik hkrati krmari do vsakega spletnega mesta.
Zaključek
Ko imate veliko število testnih primerov, lahko mrežo Selenium uporabite za pospešitev izvajanja testnih primerov. Včasih moramo teči in preizkusiti vaše testne primere v različnih operacijskih sistemih, včasih pa morate svoje testne primere preveriti tudi v različnih brskalnikih. V takih primerih uporabljamo mrežo selena.
Včasih je konfiguriranje mreže Selenium morda zelo drag in dolgotrajen postopek, saj potrebujemo več strojev. V takih primerih bo najboljša možnost uporaba mreže selena z Dockerjem.
Priporočeno branje
- Vadnica za mrežo selena: namestitev in primer preskušanja med brskalniki
- Vadnica za kumare selena: Integracija kumar Java Selenium WebDriver
- Uvod v Selenium WebDriver - Vadnica za selenij št. 8
- Vadnice za globinsko zasenčenje za začetnike
- Učinkoviti scenariji za skriptiranje in odpravljanje težav s selenijem - Vadnica za selenij št. 27
- Odpravljanje napak v skriptih selena z dnevniki (Vadnica za Log4j) - Vadnica za selen # 26
- 30+ najboljših vaj za selen: Naučite se selen z resničnimi primeri
- Uvod v JUnit Framework in njegovo uporabo v skriptu selena - Vadnica za selen # 11