selenium grid tutorial
Uvod u selenijsku mrežu i kako izvršiti unakrsna ispitivanja putem preglednika pomoću selenske mreže:
Sad smo blizu kraja ovoga sveobuhvatna serija tutorijala o selenu . Sljedeći ćemo tjedan zaključiti ovu internetsku seriju Selenium Training s vodičima „Procjena napora projekata Selenium“ i „Pitanja i odgovori na intervju za Selenium“.
Danas ćemo vas upoznati s ovim uputstvom Selen Grid - a distribuirano izvršavanje testa okruženje za ubrzanje izvršavanja testnog polaganja. Naučite kako izvesti unakrsna ispitivanja preglednika pomoću Selenium Grid.
Što ćete naučiti:
- Što je potrebno za selensku mrežu?
- Prednosti selenske rešetke
- Instalirajte Selenium GRID
- Preglednik i čvorovi
- maxInsistance
- maxSession
- Uzorak mrežnog koda
- Konfiguracija pomoću JSON datoteke
- Zaključak
- Preporučena literatura
Što je potrebno za selensku mrežu?
Kako prolazite kroz cijelo Vodiči za selen WebDriver saznat ćete da će WebDriver izvršavati vaše test slučajeve na jednom stroju.
Evo nekoliko problema s takvom postavkom:
- Što ako želite izvršiti svoje test slučajeve za različite operativne sustave?
- Kako pokrenuti svoje test slučajeve u drugoj verziji istog preglednika?
- Kako pokrenuti test slučajeve u više preglednika?
- Zašto bi scenarij trebao čekati izvršenje ostalih testnih slučajeva, čak i ako ne ovisi o bilo kojem testnom slučaju?
Svi ovi problemi obrađeni su u selenu GRID.
Kako nastavljamo sa tečajem Selenium, steći ćemo ideju o tome kako možemo prevladati ove probleme. U osnovi, Grid arhitektura temelji se na arhitekturi master-slave. Glavni stroj distribuira test slučajeve na različite slave uređaje.
Dostupne su 2 verzije mreže. Selenium Grid 2.0 najnovije je iz selena. Selenium 1.0 bila je ranija verzija. Većina stručnjaka za Selenium preferira korištenje Selenium Grid 2.0 jer je prepun novih značajki. Selenium Grid 2.0 podržava skripte Selenium RC i Selenium WebDriver.
Preporučeni alat:
# 1) LambdaTest
Izvršite automatsko testiranje selena na skalabilnoj, sigurnoj i pouzdanoj mreži selena temeljenoj na oblaku na mreži. Ubrzajte automatizaciju vašeg testiranja Selenium istovremeno povećavajući pokrivenost testiranjem testiranjem na mrežnoj infrastrukturi od 2000+ okruženja stolnih računala i mobilnih preglednika.
Predloženo čitanje = >> Automatizirajte testiranje preglednika pomoću LambdaTesta
=> Posjetite web mjesto LambdaTest
Prednosti selenske rešetke
- Selenium Grid daje fleksibilnost za distribuciju vaših test slučajeva za izvršenje.
- Smanjuje vrijeme serijske obrade.
- Može provesti testiranje s više preglednika.
- Može provesti testiranje s više OS-a.
Osnovna terminologija selenske rešetke:
Središte : Hub je središnja točka cijele GRID arhitekture koja prima sve zahtjeve. U rešetki selena postoji samo jedno čvorište. Hub distribuira test slučajeve po svakom čvoru.
Čvor : U mreži može biti više čvorova. Testovi će se izvoditi u čvorovima. Svaki čvor komunicira s čvorištem i provodi mu dodijeljeni test.
Instalirajte Selenium GRID
Korak 1 : Preuzmite datoteku jar selenium servera sa službenog web mjesta tvrtke Selenium, koja je prije bila poznata kao Selenium RC Server, i spremite je na bilo koje mjesto na lokalnom disku.
URL sjedišta selena: http://www.seleniumhq.org/download/
Korak 2 : Otvorite naredbeni redak i idite do mape u kojoj se nalazi poslužitelj. Pokrenite poslužitelj pomoću naredbe ispod
java -jar selenium-server-standalone-2.41.0.jar -rolejsko čvorište
Čvorište će prema zadanim postavkama koristiti priključak 4444. Ovaj se port može promijeniti dodavanjem različitog broja porta u naredbeni redak pod uvjetom da je port otvoren i nije mu dodijeljen zadatak.
Status se može provjeriti pomoću web sučelja: http: // localhost: 4444 / grid / console
3. korak : Idite na drugi stroj na kojem namjeravate postaviti čvorove. Otvorite naredbeni redak i pokrenite donji redak.
java -jar selenium-server-standalone-2.41.0.jar -role node -hub http://localhost:4444/grid/register -port 5556
Pokrenite selenovski poslužitelj na drugim strojevima za pokretanje čvorova.
Preglednik i čvorovi
Nakon pokretanja čvorišta i čvorova na svakom stroju kada ćete prijeći na GRID konzolu
U odjeljku Preglednik, kao u nastavku, pronaći ćete 5 preglednika Chrome, 5 Firefox i 1 IE.
To znači da prema zadanim postavkama možete koristiti 5 preglednika Chrome, 5 Firefox i 1 IE.
Za primjer, ako želite koristiti samo IE, čvor možete pokrenuti pomoću naredbe ispod:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore
Klikom na potvrdite vrstu preglednika zajedno s ostalim pojedinostima u GRID konzoli pogledaj konfiguraciju .
Slično za Firefox:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox
Za Chrome:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome
Postoji nekoliko scenarija u kojima će vam možda trebati preglednik svake vrste, tj. IE, Chrome i Firefox.
Na primjer, možda ćete trebati koristiti 1 IE i 1 Firefox i 1 preglednik Chrome
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore -browser browserName=firefox -browser browserName=chrome
maxInsistance
maxInstance koristi se za ograničavanje broja inicijalizacija preglednika u čvoru.
Na primjer, ako želite raditi s 2 Firefoxa i 2 IE, čvor možete pokrenuti pomoću maxInstance.
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox,maxInstance=3
Maksimalni primjerak može se provjeriti na kartici konfiguracije.
Slično tome, druge instance preglednika mogu se konfigurirati pomoću maxInstance.
maxSession
maxSession koristi se za konfiguriranje koliko se brojeva preglednika može paralelno koristiti u udaljenom sustavu.
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome,maxInstance=3 -browser browserName=firefox,maxInstance=3 –maxSession 3
Slično tome, možete pokrenuti više čvorova i konfiguraciju možete provjeriti u konzoli.
ČVOR1:
ČVOR2:
Uzorak mrežnog koda
Ovdje sam koristio TestNG za pokretanje uzorka GRID test slučaja.
Preduvjet : Stvorite čvorište i čvorove kako je ranije objašnjeno, a TestNG treba konfigurirati u eclipseu.
Ovdje sam uzeo ogledni test za prijavu na Gmail i unos korisničkog imena i lozinke
public class GridExample { @Test public void mailTest() throws MalformedURLException{ DesiredCapabilities dr=null; if(browserType.equals('firefox')){ dr=DesiredCapabilities.firefox(); dr.setBrowserName('firefox'); dr.setPlatform(Platform.WINDOWS); }else{ dr=DesiredCapabilities.internetExplorer(); dr.setBrowserName('iexplore'); dr.setPlatform(Platform.WINDOWS); } RemoteWebDriver driver=new RemoteWebDriver(new URL('http://localhost:4444/wd/hub'), dr); driver.navigate().to('http://gmail.com'); driver.findElement(By.xpath('//input(@id='Email')')) .sendKeys('username'); driver.findElement(By.xpath('//input(@id='Passwd')')) .sendKeys('password'); driver.close(); }
Kao u primjeru, morate koristiti RemoteWebDriver ako koristite GRID i ako morate pružiti mogućnosti pregledniku. Morate postaviti preglednik i platformu kao gore.
najbolje tvrtke za istraživanje tržišta za koje treba raditi
U ovom primjeru koristio sam platformu kao WINDOWS. Možete koristiti bilo koju platformu prema vašem zahtjevu.
Verzija preglednika također se može postaviti pomoću dr.setVersion ('verzija')
Za primjer, morate ovaj test pokrenuti serijski u više preglednika, a konfigurirati testng.xml. Ispod je paket testng.XML za gornji test da bi se test mogao pokretati serijski.
Da biste paralelno pokrenuli test, morate promijeniti testng.xml kao u nastavku.
Ovdje u testng.XML morate parametar navesti kao parllel = 'Testovi' i brojanje niti = '3' opisuje maksimalan broj niti koje treba paralelno izvršiti.
Konfiguracija pomoću JSON datoteke
Mreža se također može pokrenuti zajedno s njenom konfiguracijom pomoću JSON konfiguracijske datoteke.
Stvorite JSON datoteku za konfiguraciju ispod. Ovdje sam stvorio JSON datoteku nazvanu grid_hub.json
{ 'host': null, 'port': 4444, 'newSessionWaitTimeout': -1, 'servlets' : (), 'prioritizer': null, 'capabilityMatcher': 'org.openqa.grid.internal.utils.DefaultCapabilityMatcher', 'throwOnCapabilityNotPresent': true, 'nodePolling': 5000, 'cleanUpCycle': 5000, 'timeout': 300000, 'maxSession': 5 }
Pokrenite čvorište pomoću naredbe ispod
java -jar selenium-server-standalone-2.41.0.jar -role hub –hubConfig grid_hub.json
Slično tome, stvorite različitu json datoteku za različite čvorove prema potrebnoj konfiguraciji.
Evo primjera JSON konfiguracijske datoteke za čvor nazvan grid_node.json
{ 'capabilities': ( { 'browserName': 'chrome', 'maxInstances': 2 }, { 'browserName': 'firefox', 'maxInstances': 2 }, { 'browserName': 'internet explorer', 'maxInstances': 1 } ), 'configuration': { 'nodeTimeout':120, 'port':5555, 'hubPort':4444, 'hubHost':'localhost', 'nodePolling':2000, 'registerCycle':10000, 'register':true, 'cleanUpCycle':2000, 'timeout':30000, 'maxSession':5, } }
Za pokretanje čvora
java -jar selenium-server-standalone-2.41.0.jar -role rc –nodeConfig grid_node.json
U JSON datoteci možete promijeniti svu konfiguraciju preglednika, maxInsistance, port, maxSession itd.
Verziju preglednika, platformu možete navesti u konfiguracijskoj datoteci JSON kao u nastavku:
{
'BrowserName': 'chrome', 'version': '8', 'platform': 'Windows'
}
Zaključak
Preporučljivo je koristite Selenium Grid kada morate provesti testiranje s više preglednika i imate velik broj test slučajeva.
U ovom smo modulu opisali kako postaviti Grid hub i čvorove te kako pokrenuti Grid test slučajeve pomoću testng.XML i JSON datoteke.
Sljedeći vodič # 30 : Ispitivanje automatizacije pomoću alata selena i krastavca . Krastavac je BDD testiranje alat i Okvir. Naučit ćemo značajke alata Krastavac i njegovu upotrebu u scenarijima u stvarnom vremenu, uključujući kako integrirati Selenium WebDriver s krastavcem .
Pošaljite svoje upite vezane za selenijsku mrežu u komentarima ispod.
Preporučena literatura
- Vodič za Docker Selenium: Kako integrirati selensku mrežu s Dockerom
- Ispitivanje automatizacije pomoću alata krastavaca i selena - Vodič za selen # 30
- Vodič za selenij krastavaca: Integracija Java Selenium WebDriver za krastavac
- Spock za integraciju i funkcionalna ispitivanja selenom
- Dubinski vodiči pomračenja za početnike
- Uvod u Selenium WebDriver - Vodič za selenij br. 8
- Geb vodič - Ispitivanje automatizacije preglednika pomoću alata Geb
- Vodič za QA Parrot: Pregled alata za testiranje više preglednika