selenium grid tutorial
Uvod v selenovo mrežo in kako izvesti navzkrižno brskanje po brskalniku z uporabo selenske mreže:
Zdaj smo blizu konca tega obsežna serija vaj o selenu . Naslednji teden bomo zaključili to spletno serijo Selenium Training z vadnicami »Ocenjevanje napora projektov Selenium« in »Vprašanja in odgovori za intervju za Selenium«.
Danes vas bomo predstavili v tej vadnici Selenova mreža - a porazdeljeno izvajanje testa okolje za pospešitev izvajanja preizkusne točke. Naučite se, kako izvesti navzkrižno brskanje po brskalniku s pomočjo selenium mreže
Kaj se boste naučili:
- Kaj potrebuje selenska mreža?
- Prednosti selenove mreže
- Namestite Selenium GRID
- Brskalnik in vozlišča
- maxInsistance
- maxSession
- Vzorčna mrežna koda
- Konfiguracija z uporabo datoteke JSON
- Zaključek
- Priporočeno branje
Kaj potrebuje selenska mreža?
Ko greš skozi celo Vadnice za selen WebDriver ugotovili boste, da bo WebDriver opravil vaše testne primere na enem računalniku.
Tu je nekaj težav s takšno namestitvijo:
- Kaj če želite izvesti testne primere za različne operacijske sisteme?
- Kako zagnati testne primere v drugi različici istega brskalnika?
- Kako zagnati testne primere v več brskalnikih?
- Zakaj bi scenarij čakal na izvedbo drugih testnih primerov, četudi ni odvisen od nobenega testnega primera?
Vse te težave so obravnavane v programu Selenium GRID.
Ko nadaljujemo s tečajem selena, bomo dobili idejo o tem, kako lahko premagamo te težave. V bistvu Grid arhitektura temelji na arhitekturi master-slave. Glavni stroj razdeli testne primere različnim podrejenim strojem.
Na voljo sta dve različici mreže. Selenium Grid 2.0 je najnovejša različica selena. Selen 1.0 je bila starejša različica. Večina strokovnjakov za Selenium raje uporablja Selenium Grid 2.0, saj je opremljen z novimi funkcijami. Selenium Grid 2.0 podpira skripte Selenium RC in Selenium WebDriver.
Priporočeno orodje:
# 1) LambdaTest
Izvedite testiranje avtomatizacije selena na razširljivi, varni in zanesljivi mreži Selenium, ki temelji na oblaku. Pospešite svojo avtomatizacijo za testiranje selena, hkrati pa povečajte pokritost s testiranjem s testiranjem na spletni infrastrukturi 2000+ namiznih in mobilnih brskalniških okolij.
Predlagano branje = >> Avtomatizirajte testiranje brskalnika z LambdaTest
=> Obiščite spletno mesto LambdaTest
Prednosti selenove mreže
- Selenium Grid omogoča fleksibilnost pri distribuciji testnih primerov za izvedbo.
- Zmanjša čas obdelave serije.
- Lahko izvaja testiranje z več brskalniki.
- Lahko izvaja testiranje z več OS.
Osnovna terminologija selenske mreže:
Hub : Hub je osrednja točka celotne arhitekture GRID, ki sprejema vse zahteve. V selenovi mreži je samo eno vozlišče. Hub distribuira testne primere po vsakem vozlišču.
Vozlišče : V mreži je lahko več vozlišč. Testi se bodo izvajali v vozliščih. Vsako vozlišče komunicira s zvezdiščem in izvede preizkus, ki mu je dodeljen.
Namestite Selenium GRID
Korak 1 : Prenesite datoteko jar Selenium Server z uradnega spletnega mesta Selenium, ki je bilo prej znano kot Selenium RC Server, in ga shranite na katero koli mesto na lokalnem disku.
URL glavnega mesta selena: http://www.seleniumhq.org/download/
2. korak : Odprite ukazni poziv in se pomaknite do mape, v kateri je strežnik. Zaženite strežnik z uporabo spodnjega ukaza
java -jar selenium-server-standalone-2.41.0.jar -role hub
Središče bo privzeto uporabljalo vrata 4444. Ta vrata lahko spremenite tako, da v ukazni poziv vnesete drugo številko vrat, če so vrata odprta in jim ni dodeljena naloga.
Stanje lahko preverite s pomočjo spletnega vmesnika: http: // localhost: 4444 / grid / console
3. korak : Pojdite na drugo napravo, kjer nameravate nastaviti vozlišča. Odprite ukazni poziv in zaženite spodnjo vrstico.
java -jar selenium-server-standalone-2.41.0.jar -role node -hub http://localhost:4444/grid/register -port 5556
Zaženite strežnik selena v drugih strojih, da zaženete vozlišča.
Brskalnik in vozlišča
Po zagonu vozlišča in vozlišč na vsaki napravi, ko se boste pomaknili do konzole GRID
V razdelku Brskalnik, kot spodaj, boste našli 5 brskalnikov Chrome, 5 Firefox in 1 IE.
To pomeni, da lahko privzeto uporabljate 5 brskalnikov Chrome, 5 Firefox in 1 IE.
Na primer, če želite uporabiti samo IE, lahko vozlišče zaženete s spodnjim ukazom:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore
S tipko BRID preverite vrsto brskalnika in druge podrobnosti v konzoli GRID pogled konfiguracije .
Podobno 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
Obstaja nekaj scenarijev, v katerih boste morda potrebovali brskalnik za vsako vrsto, npr .: IE, Chrome in Firefox.
Na primer, morda boste morali uporabiti 1 IE in 1 Firefox ter 1 brskalnik 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 se uporablja za omejitev števila inicializacij brskalnika v vozlišču.
Če želite na primer delati z dvema Firefoxoma in 2 IE, lahko vozlišče zaženete s pomočjo 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
Največji primerek je mogoče preveriti na zavihku konfiguracije.
Podobno lahko druge primere brskalnika konfigurirate z uporabo maxInsistance.
maxSession
maxSession se uporablja za nastavitev števila brskalnikov, ki se lahko vzporedno uporabljajo v oddaljenem sistemu.
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
Podobno lahko zaženete več vozlišč in konfiguracijo lahko preverite v konzoli.
NODE1:
NODE2:
Vzorčna mrežna koda
Tu sem uporabil TestNG za zagon vzorčnega primera GRID.
Predpogoj : Ustvarite zvezdišče in vozlišča, kot je bilo razloženo prej, TestNG pa je treba konfigurirati v eclipse
Tu sem opravil vzorčni test za prijavo v Gmail in vnos uporabniškega imena in gesla
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(); }
Kot v primeru, morate uporabiti RemoteWebDriver, če uporabljate GRID in morate brskalniku zagotoviti zmogljivosti. Brskalnik in platformo morate nastaviti kot zgoraj.
kako pisati testne primere pri ročnem testiranju
V tem primeru sem platformo uporabil kot WINDOWS. Uporabite lahko katero koli platformo glede na vaše zahteve.
Različico brskalnika lahko nastavite tudi z dr.setVersion ('različica')
Na primer, morate ta test serijsko zagnati v več brskalnikih, konfigurirati morate testng.xml, spodaj pa je testng.XML suite za zgornji test, da se test serijsko izvaja.
Če želite vzporedno zagnati test, morate spremeniti testng.xml, kot spodaj.
Tukaj v testng.XML morate parameter določiti kot parllel = 'Testi' in štetje niti = '3' opisuje največje število niti, ki se izvajajo vzporedno.
Konfiguracija z uporabo datoteke JSON
Mrežo lahko skupaj s svojo konfiguracijo zaženete tudi s pomočjo konfiguracijske datoteke JSON.
Ustvarite datoteko JSON za spodnjo konfiguracijo. Tu sem ustvaril datoteko JSON z imenom 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 }
Zaženite pesta s spodnjim ukazom
java -jar selenium-server-standalone-2.41.0.jar -role hub –hubConfig grid_hub.json
Podobno ustvarite različno datoteko json za različna vozlišča v skladu z zahtevano konfiguracijo.
Tu je primer konfiguracijske datoteke JSON za vozlišče, imenovano 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 zagon vozlišča
java -jar selenium-server-standalone-2.41.0.jar -role rc –nodeConfig grid_node.json
V datoteki JSON lahko spremenite vso konfiguracijo brskalnika, maxInsistance, port, maxSession itd.
V konfiguracijski datoteki JSON lahko navedete različico brskalnika, platformo, kot spodaj:
{
'BrowserName': 'chrome', 'version': '8', 'platform': 'Windows'
}
Zaključek
Priporočljivo je uporabite Selenium Grid, kadar morate izvesti testiranje z več brskalniki in imate veliko število testnih primerov.
V tem modulu smo opisali, kako nastaviti središče in vozlišča Grid ter kako zagnati testne primere Grid z uporabo datotek testng.XML in JSON.
Naslednja vadnica št. 30 : Avtomatizirano testiranje z orodjem selena in kumar . Kumara je testiranje BDD orodje in okvir. Spoznali bomo funkcije orodja Kumare in njegovo uporabo v realnem času, vključno z kako integrirati Selenium WebDriver s kumaricami .
Prosimo, objavite svoja vprašanja, povezana z mrežo Selenium v spodnjih komentarjih.
Priporočeno branje
- Vadnica za Docker Selenium: Kako integrirati selenovo mrežo z Dockerjem
- Avtomatizirano preizkušanje z uporabo orodij za kumare in selen - vaja št. 30
- Vadnica za kumare selena: Integracija kumar Java Selenium WebDriver
- Spock za integracijo in funkcionalno testiranje s selenom
- Vadnice za globinsko zasenčenje za začetnike
- Uvod v Selenium WebDriver - Vadnica za selenij št. 8
- Vadnica Geba - Testiranje avtomatizacije brskalnika z orodjem Geb
- Vadnica za preverjanje kakovosti Parrot: Pregled orodij za funkcionalno preskušanje med brskalniki