selenium grid tutorial
Úvod do mriežky selénu a ako vykonávať testovanie krížového prehliadača pomocou mriežky selénu:
Teraz sa blížime ku koncu komplexná séria návodov na selén . Budúci týždeň túto online sériu selénových školení zakončíme návodmi „Odhad úsilia na selénové projekty“ a „Otázky a odpovede na selénový rozhovor“.
Dnes vám v tomto návode predstavíme Selénová mriežka - a distribuované vykonávanie testu prostredie na urýchlenie vykonania testovacieho Naučte sa, ako vykonať testovanie medzi prehliadačmi pomocou Selenium Grid.
Čo sa dozviete:
- Aká je potreba selénovej mriežky?
- Výhody selénovej mriežky
- Nainštalujte Selenium GRID
- Prehliadač a uzly
- maxLátky
- maxSession
- Vzorový kód mriežky
- Konfigurácia pomocou súboru JSON
- Záver
- Odporúčané čítanie
Aká je potreba selénovej mriežky?
Ako prechádzate celým Výukové programy pre selén WebDriver zistíte, že WebDriver vykoná vaše testovacie prípady na jednom počítači.
Tu je niekoľko problémov s takýmto nastavením:
- Čo ak chcete vykonať testovacie prípady pre rôzne operačné systémy?
- Ako spustiť testovacie prípady v inej verzii rovnakého prehliadača?
- Ako spustiť testovacie prípady vo viacerých prehliadačoch?
- Prečo by mal scenár čakať na vykonanie ďalších testovacích prípadov, aj keď nezávisí od žiadnych testovacích prípadov?
Všetky tieto problémy rieši selénový GRID.
Keď budeme pokračovať v kurze selénu, získame predstavu o tom, ako môžeme tieto problémy prekonať. Gridová architektúra je v zásade založená na architektúre master-slave. Hlavný stroj distribuuje testovacie prípady na rôzne podriadené stroje.
K dispozícii sú 2 verzie programu Grid. Selenium Grid 2.0 je najnovší zo série Selenium. Selén 1.0 bol staršou verziou. Väčšina odborníkov na selén dáva prednosť použitiu Selenium Grid 2.0, ktorý je nabitý novými funkciami. Selenium Grid 2.0 podporuje skripty Selenium RC aj Selenium WebDriver.
Odporúčaný nástroj:
# 1) LambdaTest
Vykonajte testovanie automatizácie selénu na škálovateľnej, bezpečnej a spoľahlivej cloudovej selénovej sieti online. Zrýchlite svoju automatizáciu testovania selénu súčasne a zvýšte pokrytie testovaním testovaním na online infraštruktúre viac ako 2 000 prostredí počítačov a mobilných prehliadačov.
Navrhované čítanie = >> Automatizujte testovanie prehliadača pomocou LambdaTestu
Výhody selénovej mriežky
- Selenium Grid poskytuje flexibilitu na distribúciu testovacích prípadov na vykonanie.
- Skracuje čas dávkového spracovania.
- Môže vykonávať testovanie viacerých prehliadačov.
- Môže vykonávať testovanie viacerých OS.
Základná terminológia selénovej mriežky:
Stredisko : Hub je ústredným bodom celej architektúry GRID, ktorá prijíma všetky požiadavky. V mriežke selénu je iba jeden náboj. Hub distribuuje testovacie prípady do každého uzla.
Uzol : V Gride môže byť viac uzlov. Testy budú prebiehať v uzloch. Každý uzol komunikuje s rozbočovačom a vykonáva priradený test.
Nainštalujte Selenium GRID
Krok 1 : Stiahnite si súbor jar servera Selenium z oficiálnych webových stránok Selenium, ktorý bol predtým známy ako Selenium RC Server, a uložte ich na ľubovoľnom mieste na lokálnom disku.
URL ústredia selénu: http://www.seleniumhq.org/download/
Krok 2 : Otvorte príkazový riadok a prejdite do priečinka, kde sa nachádza server. Spustite server pomocou nižšie uvedeného príkazu
java -jar selen-server-standalone-2.41.0.jar -role hub
Hub bude predvolene používať port 4444. Tento port je možné zmeniť zadaním iného čísla portu v príkazovom riadku za predpokladu, že je port otvorený a nemá priradenú úlohu.
Stav je možné skontrolovať pomocou webového rozhrania: http: // localhost: 4444 / grid / console
Krok 3 : Prejdite na druhý stroj, kde chcete nastaviť uzly. Otvorte príkazový riadok a spustite nasledujúci riadok.
java -jar selenium-server-standalone-2.41.0.jar -role node -hub http://localhost:4444/grid/register -port 5556
Spustite selénový server na iných počítačoch a spustite uzly.
Prehliadač a uzly
Po spustení rozbočovača a uzlov na každom počítači, keď prejdete do konzoly GRID
V sekcii Prehliadač nájdete nižšie 5 prehliadačov Chrome, 5 Firefox a 1 IE.
To naznačuje, že predvolene môžete používať 5 prehliadačov Chrome, 5 prehliadačov Firefox a 1 prehliadač IE.
Pre inštanciu, ak chcete použiť iba IE, môžete uzol spustiť pomocou nasledujúceho príkazu:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore
Kliknutím na ikonu overte typ prehliadača a ďalšie podrobnosti v konzole GRID zobraziť konfigur .
Podobne pre Firefox:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox
Pre Chrome:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome
Existuje niekoľko scenárov, kedy budete pravdepodobne potrebovať prehliadač od každého typu, tj. IE, Chrome a Firefox.
Možno budete musieť použiť napríklad 1 IE a 1 Firefox a 1 prehliadač 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
maxLátky
maxInstance sa používa na obmedzenie počtu inicializácií prehľadávača v uzle.
Napríklad, ak chcete pracovať s 2 Firefox a 2 IE, môžete uzol spustiť pomocou 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
Maximálnu inštanciu je možné overiť na karte konfigurácia.
Podobne je možné nakonfigurovať ďalšie inštancie prehľadávača pomocou maxInstances.
maxSession
maxSession sa používa na konfiguráciu počtu prehliadačov, ktoré je možné vo vzdialenom systéme použiť paralelne.
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
Podobne môžete spustiť viac uzlov a konfiguráciu je možné overiť v konzole.
NODE1:
NODE2:
Vzorový kód mriežky
Tu som použil TestNG na spustenie vzorového testovacieho prípadu GRID.
Predpoklad : Vytvorte rozbočovač a uzly, ako je vysvetlené vyššie, a TestNG by mal byť nakonfigurovaný v zatmení.
Tu som absolvoval ukážkový test prihlásenia do služby Gmail a zadania používateľského mena a hesla
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(); }
Rovnako ako v príklade, musíte použiť RemoteWebDriver, ak používate GRID a musíte prehľadávaču poskytovať funkcie. Musíte nastaviť prehliadač a platformu, ako je uvedené vyššie.
najlepšie spoločnosti pre prieskum trhu, pre ktoré môžu pracovať
V tomto príklade som použil platformu ako OKNÁ. Môžete použiť ľubovoľnú platformu podľa vašich požiadaviek.
Verziu prehliadača je možné nastaviť aj pomocou dr.setVersion („verzia“)
Pre inštanciu je potrebné tento test spustiť sériovo vo viacerých prehliadačoch, ktoré musíte nakonfigurovať pre svoj testng.xml. Nižšie je uvedená sada testng.XML pre vyššie uvedený test, aby sa váš test mohol spustiť sériovo.
Ak chcete spustiť test paralelne, musíte zmeniť svoj testng.xml, ako je uvedené nižšie.
Tu v testng.XML musíte určiť parameter ako paralelne = „Testy“ a počet vlákien = „3“ popisuje maximálny počet vlákien, ktoré sa majú vykonať paralelne.
Konfigurácia pomocou súboru JSON
Mriežku je možné spustiť spolu s jej konfiguráciou aj pomocou konfiguračného súboru JSON.
Vytvorte súbor JSON, ktorý má nižšiu konfiguráciu. Tu som vytvoril súbor JSON s názvom 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 }
Spustite rozbočovač pomocou nasledujúceho príkazu
java -jar selen-server-standalone-2.41.0.jar -role hub –hubConfig grid_hub.json
Podobne vytvorte iný súbor JSON pre rôzne uzly podľa požadovanej konfigurácie.
Tu je príklad konfiguračného súboru JSON pre uzol pomenovaný ako 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, } }
Na spustenie uzla
java -jar selen-server-standalone-2.41.0.jar -role rc –nodeConfig grid_node.json
V súbore JSON môžete zmeniť všetku konfiguráciu prehľadávača, maxInstances, port, maxSession atď.
Verziu prehliadača, platformu, môžete poskytnúť v konfiguračnom súbore JSON, ako je uvedené nižšie:
{
„BrowserName“: „chrome“, „version“: „8“, „platforma“: „Windows“
}
Záver
Je vhodné použite Selenium Grid, keď musíte vykonať testovanie pomocou viacerých prehliadačov a máte veľké množstvo testovacích prípadov.
V tomto module sme sa venovali tomu, ako nastaviť rozbočovač a uzly Grid spolu s tým, ako spustiť testovacie prípady Grid pomocou súboru testng.XML a JSON.
Nasledujúci kurz č. 30 : Automatizované testovanie pomocou nástroja selén a uhorka . Uhorka je testovanie BDD nástroj a rámca. Naučíme sa funkcie nástroja Cucumber a jeho použitie v scenároch v reálnom čase vrátane ako integrovať Selenium WebDriver s uhorkou .
Prosím, pošlite svoje otázky týkajúce sa Selenium Grid do komentárov nižšie.
Odporúčané čítanie
- Výukový program pre Docker Selenium: Ako integrovať selenovú mriežku s Dockerom
- Automatizačné testovanie pomocou nástroja Cucumber Tool a selénu - selén - návod č. 30
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Spock pre integráciu a funkčné testovanie so selénom
- Hĺbkové návody pre zatmenie pre začiatočníkov
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Výukový program Geb - Testovanie automatizácie prehľadávača pomocou nástroja Geb
- Výukový program pre Parrot QA: Kontrola funkčného testovacieho nástroja naprieč prehliadačmi