Nastavitev mreže selena za porazdeljeno testiranje selena



Ta spletni dnevnik vam bo pomagal razumeti potrebo po Selenium Grid in njegovih koristih. Preberite ga, če želite nastaviti prvo mrežo Selenium, tako da konfigurirate zvezdišče in vozlišča.

Drugi blogi v tej vadnici Selenium govorijo o ustvarjanju testnih primerov in njihovem izvajanju v zaporedju in vzporedno. Končna tehnika, ki je ostala za razpravo, je izvajanje testnih primerov v oddaljenih strojih. Za izvajanje teh testov na oddaljenih računalnikih / gostiteljih je mogoče uporabiti mrežo Selenium. Zato je to tema razprave današnjega bloga.

  1. Zakaj in kdaj uporabljati selenovo mrežo?
  2. Kaj je selenska mreža?
  3. Selenova mreža 1 v primerjavi s selenovo mrežo 2
  4. Arhitektura selenske mreže
  5. Gradnja selenske mreže

Zakaj in kdaj uporabljati selenovo mrežo?

Danes je v uporabi toliko spletnih brskalnikov. Uporabniki za branje tega spletnega dnevnika morda uporabljajo Chrome ali Firefox ali Safari ali Opera ali celo Internet Explorer. Morda uporabljajo različne različice brskalnikov. Te brskalnike morda izvajajo tudi v katerem koli operacijskem sistemu, naj bo to Windows, Mac ali Ubuntu ali katera koli druga distribucija Linuxa.





Kaj pa, če bi uporabniki v internetu videli nekaj pomembnega? Nekaj ​​pomembnega za vaše podjetje. Ali ne bi želeli narediti tega dodatnega kilometra (testiranje spletne aplikacije) samo zato, da bi zagotovili najboljšo uporabniško izkušnjo svojim uporabnikom in / ali strankam? Bi, kajne?

Pa bi moral!



Toda vprašanje je, kako izvedljivo je? Ali boste lahko porabili čas za preizkušanje spletne aplikacije v vseh možnih operacijskih sistemih in vseh razpoložljivih spletnih brskalnikih? Hmm, to se sliši kot majhen izziv. Tule selenska mreža ustreza računu in pomagaprihranite svoj čas in energijo.

Poleg tega se poraja še eno vprašanje, ali je mogoče omrežno infrastrukturo Selenium vzpostaviti z uporabo lokalnih sistemov? Vzdrževanje mreže z vsemi potrebnimi brskalniki in operacijskimi sistemi je izziv. Za to obstaja več spletnih platform, ki ponujajo spletno mrežo selena, do katere lahko dostopate za zagon skriptov za avtomatizacijo selena. Na primer, lahko uporabite LambdaTest . Ima več kot 2000 okolij brskalnikov, v katerih lahko izvajate svoje teste in resnično avtomatizirate testiranje med brskalniki.

Kaj je selenska mreža?

Selenium Grid je še eno pomembno orodje v zbirki orodij Selenium. Grid je sposoben koordinirati teste WebDriver / RC, ki se lahko istočasno izvajajo v več spletnih brskalnikih ali se lahko začnejo v različnih operacijskih sistemih ali celo gostijo na različnih strojih.



delovna mreža - selenova mrežaTorej, kako se to obnese? Grid uporablja arhitekturo Hub-Node, kjer je eno Hub, ki deluje kot glavni in eno ali več vozlišč, ki delujejo kot podrejeni.

Kaj to pomeni, če imate skupno 100 opravil / testov, ki jih je treba izvesti, lahko preizkuse izvedete hkrati v 5 strojih, kjer bo vsak stroj izvedel 20 testov. Pravzaprav lahko te teste izvajate v različnih kombinacijah operacijskih sistemov in brskalnikov. Vsaka naprava je lahko različnega operacijskega sistema, znotraj vsakega operacijskega sistema pa se lahko preskusi izvajajo v različnih brskalnikih.

S tem dejanjem bi lahko prihranili veliko vašega časa pri izvajanju preizkusa. Če upoštevate zgornji primer, lahko čas izvajanja zmanjšamo na približno 1/5 celotnega časa, potrebnega za izvajanje testov na enem računalniku.

Če se spomnite iz mojih prejšnjih spletnih dnevnikov, sem že neštetokrat omenil, da je bil Grid del projekta Selenium od njegovega začetka, torej od Selenium v1. Tudi mreža selena je bila del selena v2 in trenutno del selena v3. V v2 in v3 v selenovi mreži ni veliko razlik. Vendar ima v1 razmeroma veliko razlik. Torej,razumeti razlike med v1 in v2.

Selenova mreža 1 v primerjavi s selenovo mrežo 2

Temeljna razlika med omrežjem v1.0 in v2.0 je v tem, da je bil v omrežju 1 uporabljen RC, v omrežju 2 pa WebDriver. Spodnja tabela podrobno pojasnjuje razlike.

Mreža 1 Mreža 2
Zahteva namestitev Apache AntNamestitev Apache Ant ni potrebna
Ima lasten daljinski upravljalnik (se razlikuje od strežnika RC)V kompletu z datoteko jar strežnika Selenium
Podpira samo ukaze Selenium RCPodpira skripte Selenium RC in WebDriver
Na daljinski upravljalnik lahko avtomatizirate samo en brskalnikNa daljinski upravljalnik lahko avtomatizirate do 5 brskalnikov


Zdaj, ko smo se naučili temeljnih razlik med obema različicama, se poglobimo v mrežo Selenium.

Arhitektura selenske mreže

Kot sem že omenil, mreža deluje na podlagi enega zvezdišča in več vozlišč. Kaj pa so Hub in Nodes in kaj počnejo?

Središče

V kateri koli nastavitvi mreže je lahko samo eno zvezdišče in to bo osrednja točka te nastavitve mreže. Tu je treba naložiti vse teste, ki jih je treba izvesti. Kljub testom, ki so naloženi tukaj, se bodo izvajali samo na vozliščih. Kateri koli gostiteljski stroj lahko konfiguriramo za naše središče in bo koordiniral dejavnosti izvajanja preizkusov na drugih gostiteljih.

Da bi se to zgodilo, moramo najprej konfigurirati zvezdišče in nato narediti druga vozlišča za registracijo v zvezdišče. Preden se spustim v preveč podrobnosti, naj vam pokažem ukaz za konfiguracijo zvezdišča.

kako ravnati s pojavnim oknom v selenu

Konfiguriranje pesta

Najprej morate s spletnega mesta Seleniumhq prenesti datoteko JAR strežnika Selenium. Povezava je tukaj . Prepričati se morate tudi, da je v vašem sistemu nameščena Java in da so nastavljene spremenljivke okolja.

Ko prenesete datoteko jar, jo morate shraniti v ustrezen imenik. Za moje udobje sem ga prenesel in postavil v mapo Selenium na disku C. Priporočljivo je, da prenesete tudi datoteko jar in jo postavite v podoben imenik v vseh drugih vozliščih.

Če želite konfigurirati zvezdišče, morate zagnati ukaz v ukaznem pozivu sistema Windows. Ukaz je prisoten v spodnjem delčku.

C: UsersVardhan> cd .. C: Users> cd .. C:> cd Selenium C: Selenium> java -jar selenium-server-standalone-3.4.0.jar -role hub

The selenium-server-standalone-3.4.0.jar je ime datoteke jar, ki sem jo prenesel.
The -rola zastava se uporablja za nastavitev določenega gostiteljskega računalnika kot zvezdišča. Ko pritisnete Enter, boste na zaslonu dobili spodnji izhod.

Če zgornjega posnetka zaslona niste opazili, si ga oglejte še enkrat. Pravi ' -Vzvoki naj se registrirajo na http://192.168.0.11:4444/grid/register ‘. Zdaj, ko je zvezdišče konfigurirano, moramo nastaviti vozlišča in jih povezati s tem zvezdiščem.

192.168.0.11 je naslov IP zvezdišča in vsako vozlišče se mora povezati s tem naslovom IP. 4444 je privzeta številka vrat, na kateri gostuje Selenium Grid in posluša zahteve. Če se na vrati 4444 izvaja neka druga storitev in želite, da je Selenium Grid gostovan na drugih vratih, lahko to storite tako, da določite -port zastavi, ki ji sledi številka pristanišča.

Vozlišča

Vozlišča so gostiteljski stroji, na katerih se izvajajo testi. Te teste bo začel Hub. Hub lahko zažene eno ali več vozlišč bodisi na oddaljenih računalnikih bodisi na istem računalniku, kjer je Hub sam. Na vsakem vozlišču se lahko zaženejo različni operacijski sistemi, na različnih operacijskih sistemih pa se lahko sprožijo različne različice istega brskalnika ali različnih brskalnikov.

Konfiguriranje vozlišč

Podobno kot zvezdišče morate najprej prenesti datoteko Jar v naprave Node in jo za vaše udobje namestiti na pogon C ali kateri koli drug skupni imenik. Nato lahko v ukaznem pozivu Windows zaženete spodnji ukaz. Če celo Node zaženete na isti napravi kot vaše zvezdišče, morate ukaz zagnati tako, da zaženete drug ukazni poziv.

java -Dwebdriver.chrome.driver = E: chromedriver.exe -jar selenium-server-standalone-3.4.0.jar -role vozlišče -hub http://192.168.0.11:4444/grid/register

Ta ukaz ima le nekaj razlik v primerjavi z ukazom, potrebnim za zagon zvezdišča.
-Dwebdriver.chrome.driver = E: chromedriver.exe se uporablja za nastavitev poti gonilnika brskalnika. Podobno kot nastavitev poti gonilnika brskalnika v vaši kodi WebDriver, jo tudi tu določite tako, da vozlišču omogočite izvajanje testov. Od selena v3 naprej morate prenesti brskalnik gonilnikov za Firefox. Gonilnik brskalnika za Firefox je gonilnik Gecko. Vendar pa morate v različicah 1 in 2 nastaviti gonilnik brskalnika za vse brskalnike, razen Firefoxa.
vozlišče zastava se uporablja za nastavitev določenega gostiteljskega računalnika kot vozlišča.
-hub http://192.168.0.11:4444/grid/register obvesti vozlišče, da se poveže s zvezdiščem z uporabo naslova IP zvezdišča. Pomembno je omeniti, da če zaženete katero koli vozlišče na isti napravi kot vaše zvezdišče, lahko določite -hub http: // localhost: 4444 / grid / register ‘V ukazu namesto naslova IP zvezdišča.

Ko pritisnete enter, boste v ukaznem pozivu dobili spodnji izhod.

Do zdaj bi bilo vozlišče že povezano s zvezdiščem. To lahko preverite tako, da se vrnete v ukazni poziv, ki se uporablja za zagon zvezdišča, in opazili boste naslednje sporočilo: Registrirano vozlišče http://192.168.0.11:5555 ‘.

Naslov IP in številka vrat je naslov vašega vozlišča. Ker imam svoje vozlišče na isti napravi kot zvezdišče, so vrata, ki se uporabljajo za vozlišče, 5555. Ko ga zaženete na drugem računalniku, bodo uporabljena privzeta vrata.

Ko v napravi zvezdišča zaženete naslednji URL, boste dobili stanje vozlišč, povezanih s svojim zvezdiščem. Oglejte si označeni del na spodnjem posnetku zaslona.

Zdaj, ko je vaša mreža Selenium konfigurirana, lahko nadaljujete z izvajanjem testnih skriptov na vozliščih. Naj še enkrat poudarim, da moramo skripte izvajati v našem vozlišču in bodo izvedeni v naših vozliščih. Skript, ki se uporablja za izvajanje testov, je podoben WebDriverjupreskusi.

Gradnja selenske mreže

Skript sem zagnal v Eclipse IDE. Izvedba tega skripta je odvisna od dveh pomembnih knjižničnih paketov. So Želene zmožnosti predmet in RemoteWebDriver predmet.

DesiredCapabilities se uporablja za nastavitev vrste brskalnika in operacijskega sistema našega vozlišča. Če želite uvoziti objekt DesiredCapabilities, uporabite spodnjo kodo.

import org.openqa.selenium.remote.DesiredCapabilities

RemoteWebDriver se uporablja za izbiro vozlišča, na katerem želimo izvesti test. Če želite uvoziti objekt RemoteWebDriver, uporabite spodnje vrstice kode.

import java.net.MalformedURLException import java.net.URL import org.openqa.selenium.remote.RemoteWebDriver

Ta dva paketa sem uvozil skupaj s paketom opomb TestNG za svoj skript, kot je prikazano v spodnjem delčku kode. Opombe TestNG sem uvozil, ker sem to izvedel kot test TestNG, za katerega bo ustvarjeno podrobno poročilo. Priporočam vam, da za kodo uvozite isti nabor paketov.

Ko manevrirate nad logotipi katerega koli brskalnika, ki je prisoten na konzoli Selenium Hub, boste dobili podrobnosti, kot je browserName in platformo vozlišča, ki ga želite avtomatizirati. Slika prikazuje tudi, koliko primerkov brskalnikov lahko odprem v svojem vozlišču. Konfiguriram lahko največ 5 primerkov chrome, 5 Firefox in 1 Internet Explorer. Te podrobnosti so na spodnjem posnetku zaslona.

S kodo v spodnjem delčku lahko nastavite svojo prvo mrežo.

paket GridTest import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng.annotations.Test import java.net.MalformedURLException import java.net.URL import org.junit.Assert import org.openqa.selenium .Platform import org.openqa.selenium.WebDriver import org.openqa.selenium.remote.DesiredCapabilities import org.openqa.selenium.remote.RemoteWebDriver javni razred TestGrid {static WebDriver driver static String nodeUrl @BeforeTestx public voidption forformed nodeUrl = 'http://192.168.0.11:5555/wd/hub' DesiredCapabilities zmogljivosti = DesiredCapabilities.chrome () sposobnosti.setBrowserName ('chrome') sposobnosti.setPlatform (Platform.WINDOWS) voznik = nov RemoteWebDriver (nov URL (nodeUrl ), zmogljivosti)} @Test public void simpleTest () Edureka ', driver.getTitle ()) @AfterTest public void afterTest () {driver.quit ()}}

Celoten testni skript sem razdelil na tri testne pripise. @BeforeTest, @Test in @AfterTest. V @BeforeTest sem za konfiguriranje svojega vozlišča uporabil predmete DesiredCapablities in RemoteWebDriver. V @Test sem vozlišče prosil, da se pomakne na Edurekino domačo stran in uveljavi naslov strani. V @AfterTest sem vozlišče prosil, naj zapre primerek brskalnika.

Ko bo test opravil izvedbo, boste dobili spodnji izhod.

18. maj 2017 15:09:07 org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Zaznano narečje: OSS PREDA: simpleTest ===================== ========================== Privzeti test Zaženi testi: 1, Napake: 0, Preskoči: 0 ========== ====================================== ============= ================================== Privzeti paket Skupno število preizkusov: 1, Napake: 0, Preskoki: 0 = ================================================

Ker se ta izvede kot test TestNG, boste dobili podrobno poročilo o preskusu, podobno spodnjemu posnetku zaslona.

Če ne veste, kaj je TestNG in kako uporabljati testne pripise, preberite moj blog o tem, kako ga uporabljati Selenium WebDriver s testNG iz te vadnice Selenium.

Spodnji video lahko vidite na demonstraciji, kako zgraditi mrežo selena. Inštruktor, ki daje video, razloži iste koncepte, ki so razloženi v tem blogu.

Vadnica za selenovo mrežo za začetnike | Vadnica za selen | Edureka

Tako smo prišli do konca tega spletnega dnevnika Selenium Grid. Če dvomite ali imate kakršno koli kodo / vsebino te serije blogov, jih pustite v spodnjem oddelku za komentarje in vašo težavo bom rešil čim prej.

Če se želite naučiti selena in si ustvariti kariero na testni domeni, si oglejte naš interaktivni splet v živo Tukaj je na voljo podpora 24 * 7, ki vas vodi skozi celotno obdobje učenja.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje in se vam bomo javili.