Seleeniruudukon asettaminen hajautettua seleenitestausta varten



Tämä blogi auttaa sinua ymmärtämään seleeniruudukon tarvetta ja sen etuja. Lue se ensimmäisen Selenium Grid -sovelluksen määrittämiseksi määrittämällä napa ja solmut.

Tämän Selenium-opetusohjelman muut blogit puhuvat testitapausten luomisesta ja näiden testitapausten suorittamisesta peräkkäin ja rinnakkain. Joten viimeinen keskusteluun jätetty tekniikka on testitapausten suorittaminen etäkoneissa. Selenium Grid -sovellusta voidaan käyttää näiden testien suorittamiseen etäkoneilla / isännöillä. Siksi tämä on tämän blogin keskustelunaihe.

  1. Miksi ja milloin käyttää Selenium Gridiä?
  2. Mikä on seleeniristikko?
  3. Selenium Grid 1 vs. Selenium Grid 2
  4. Seleeniruudukon arkkitehtuuri
  5. Seleeniruudukon rakentaminen

Miksi ja milloin käyttää seleeniä?

Nykyään käytössä on niin paljon verkkoselaimia. Käyttäjät saattavat käyttää joko Chrome tai Firefox tai Safari tai Opera tai jopa Internet Explorer lukemaan tätä blogia. He saattavat käyttää selainten eri versioita. He saattavat myös käyttää näitä selaimia millä tahansa käyttöjärjestelmällä, olipa se sitten Windows tai Mac, Ubuntu tai mikä tahansa muu Linux-jakelu.





HTML-taulukko taulukossa

Entä jos käyttäjät näkisivät jotain tärkeätä Internetissä? Jotain tärkeää yrityksellesi. Etkö halua mennä ylimääräiselle mailille (testata verkkosovellusta) vain varmistaaksesi, että käyttäjät ja / tai asiakkaat saavat parhaan käyttökokemuksen? Voisit, eikö?

No, sinun pitäisi!



Mutta kysymys on, kuinka toteutettavissa se on? Pystytkö viettämään aikaa verkkosovelluksesi testaamiseen kaikilla mahdollisilla käyttöjärjestelmillä ja kaikilla käytettävissä olevilla verkkoselaimilla? Hmm, se kuulostaa hieman haastavalta. Täällä Selenium Grid sopii laskuun ja auttaasäästää aikaa ja energiaa.

Tämän lisäksi herää vielä yksi kysymys: Onko kannattavaa perustaa seleeniverkkoinfrastruktuuri paikallisia järjestelmiä käyttäen? Ruudukon ylläpito kaikilla tarvittavilla selaimilla ja käyttöjärjestelmillä on haaste. Tätä varten on olemassa useita online-alustoja, jotka tarjoavat online-seleeniruudukon, johon pääset käsittelemään seleeni-automaatio-komentosarjojasi. Voit esimerkiksi käyttää LambdaTest . Siinä on yli 2000 selainympäristöä, joissa voit suorittaa testisi ja todella automaattisen selaimen testauksen.

Mikä on seleeniristikko?

Selenium Grid on toinen tärkeä työkalu Selenium-työkalusarjassa. Grid pystyy koordinoimaan WebDriver-testejä / RC-testejä, jotka voivat toimia samanaikaisesti useilla verkkoselaimilla tai voidaan käynnistää eri käyttöjärjestelmissä tai jopa isännöidä eri koneilla.



ruudukkotyö - seleeniristikkoJoten miten se toimii? Grid käyttää Hub-Node -arkkitehtuuria, jossa on yksi napa, joka toimii isäntänä ja yksi tai useampi solmu toimii orjina.

Tämä tarkoittaa sitä, että jos sinulla on yhteensä 100 suoritettavaa työtä / testiä, testit voidaan suorittaa samanaikaisesti viidessä koneessa, joissa kukin kone suorittaa 20 testiä. Itse asiassa voit suorittaa nämä testit eri käyttöjärjestelmien ja selainten yhdistelmissä. Jokaisella koneella voi olla eri käyttöjärjestelmä ja kunkin käyttöjärjestelmän sisällä testit voidaan suorittaa eri selaimilla.

Tämä teko säästää helposti paljon aikaa testin suorittamisessa. Jos tarkastelet yllä olevaa esimerkkiä, voimme lyhentää suoritusajan noin viidesosaan kokonaistestistä, joka kuluu testien suorittamiseen yhdellä koneella.

Jos muistat edellisistä blogistani, olen maininnut lukemattomia kertoja siitä, että Grid oli osa Selenium-projektia sen perustamisesta lähtien eli Selenium v1: stä lähtien. Selenium Grid oli myös osa Selenium v2: ta ja tällä hetkellä se on osa Selenium v3: ta. Seleeniruudukossa v2 ja v3 ei ole paljon eroja. V1: llä on kuitenkin paljon eroja verrattuna. Joten, mennäänymmärrä v1: n ja v2: n erot.

Selenium Grid 1 vs. Selenium Grid 2

Perusero ruudukon v1.0 ja v2.0 välillä on, että RC: tä käytettiin ruudukossa 1 ja WebDriveria ruudukossa 2. Alla olevassa taulukossa selitetään erot yksityiskohtaisesti.

Ruudukko 1 Ruudukko 2
Edellyttää Apache Antin asentamistaApache Ant -asennusta ei vaadita
On oma kaukosäädin (tämä eroaa RC-palvelimesta)Mukana Selenium Server -purkkitiedosto
Tukee vain Selenium RC -komentojaTukee sekä Selenium RC- että WebDriver-komentosarjoja
Voit automatisoida vain yhden selaimen kauko-ohjainta kohtiVoit automatisoida enintään 5 selainta kauko-ohjainta kohti


Nyt kun olemme oppineet kahden version väliset peruserot, sukelkaamme syvälle Selenium Gridiin.

Seleeniruudukon arkkitehtuuri

Kuten aiemmin mainitsin, ruudukko toimii yhden keskittimen ja useiden solmujen perusteella. Mutta mitä ovat keskitin ja solmut ja mitä ne tekevät?

Keskus

Missä tahansa Grid-asennuksessa voi olla vain yksi napa, ja se on kyseisen Grid-asennuksen keskipiste. Kaikki suoritettavat testit tulee ladata tähän. Siitä huolimatta, että testit ladataan tähän, ne suoritetaan vain solmuissa. Voimme määrittää minkä tahansa isäntäkoneen keskukseksi, ja se koordinoi testien suorittamisen toimintaa muissa isännissä.

Jotta tämä tapahtuisi, meidän on ensin määritettävä keskittymä ja tehtävä sitten muut solmut rekisteröimään keskittimeen. Ennen kuin käsittelen liikaa yksityiskohtia, haluan näyttää komennon keskittimen määrittämisestä.

Keskuksen määrittäminen

Sinun on ensin ladattava Selenium-palvelimen JAR-tiedosto Seleniumhqin verkkosivustolta. Linkki on tässä . Sinun on myös varmistettava, että Java on asennettu järjestelmään ja ympäristömuuttujat on asetettu.

Kun olet ladannut jar-tiedoston, sinun on sijoitettava se sopivaan hakemistoon. Mukavuuteni vuoksi olen ladannut sen ja asettanut sen C-aseman Selenium-kansioon. On suositeltavaa ladata myös jar-tiedosto ja sijoittaa se vastaavaan hakemistoon kaikkiin muihin solmuihin.

Jos haluat määrittää keskittimen, sinun on suoritettava komento Windowsin komentokehotteessa. Komento on läsnä alla olevassa katkelmassa.

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

seleeni-palvelin-itsenäinen-3.4.0.jar on lataamani purkitiedoston nimi.
-rooli lippua käytetään asettamaan kyseinen isäntäkone keskukseksi. Kun painat Enter, saat alla olevan tuloksen ruudulle.

Jos et huomannut yllä olevaa kuvakaappausta, näe se uudelleen. Se sanoo ' -Solmujen tulisi rekisteröityä osoitteeseen http://192.168.0.11:4444/grid/register ”. Nyt kun keskus on määritetty, meidän on määritettävä solmut ja liitettävä ne tähän keskittimeen.

192.168.0.11 on keskittimen IP-osoite, ja jokaisen solmun tulisi muodostaa yhteys tähän IP-osoitteeseen. 4444 on oletusporttinumero, jota Selenium Grid isännöi ja kuuntelee pyyntöjä. Jos jokin muu palvelu on käynnissä portissa 4444 ja haluat, että Selenium Grid isännöi toista porttia, voit tehdä sen määrittämällä -portti lippu, jota seuraa portin numero.

Solmut

Solmut ovat isäntäkoneita, joilla testit suoritetaan. Keskus käynnistää nämä testit. Keskitin voi käynnistää yhden tai useamman solmun joko etäkoneissa tai samassa koneessa, jossa keskittymä itse sijaitsee. Jokaisella solmulla voidaan käynnistää eri käyttöjärjestelmät, ja eri käyttöjärjestelmissä voidaan käynnistää saman selaimen tai eri selainten eri versiot.

Solmujen määrittäminen

Samoin kuin keskittimessä, sinun on ensin ladattava Jar-tiedosto Node-koneisiin ja sijoitettava se C-asemaan tai mihin tahansa muuhun yleiseen hakemistoon avuksesi. Voit sitten suorittaa alla olevan komennon Windowsin komentokehotteessa. Jos käynnistät jopa Solmun samalla koneella kuin keskitin, sinun on suoritettava komento käynnistämällä toinen komentokehote.

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

Tässä komennossa on vain muutama ero verrattuna keskittimen käynnistämiseen tarvittavaan komentoon.
-Dwebdriver.chrome.driver = E: chromedriver.exe käytetään määrittämään selainohjaimen polku. Samoin kuin asetat selainohjaimen polun WebDriver-koodiin, määrität sen täällä, jotta solmu voi suorittaa testejä. Selenium v3: sta alkaen sinun on ladattava ohjainselain Firefoxille. Firefoxin selainohjain on Gecko-ohjain. Versioissa 1 ja 2 sinun on kuitenkin määritettävä selainohjain kaikille muille selaimille kuin Firefoxille.
-roolisolmu lippua käytetään asettamaan kyseinen isäntäkone solmuksi.
-hub http://192.168.0.11:4444/grid/register kehottaa Solmua muodostamaan yhteyden Hubiin käyttämällä Hubin IP-osoitetta. Tärkeä huomautus on, että jos käynnistät minkä tahansa solmun samalla koneella kuin keskitin, voit määrittää -napa http: // paikallinen isäntä: 4444 / grid / register ’Komennossa Hubin IP-osoitteen sijaan.

goto-lause c ++

Kun painat Enter, saat alla olevan tuloksen komentokehotteeseen.

Tähän mennessä solmu olisi ollut kytketty keskittimeen. Voit varmistaa, että palaat keskittimen käynnistämiseen käytettyyn komentokehotteeseen ja huomaat seuraavan viestin: Rekisteröi solmun http://192.168.0.11:5555 ”.

IP-osoite ja porttinumero ovat solmusi osoite. Koska solmuni on samassa koneessa kuin keskitin, solmun portti on 5555. Kun aloitat sen jollakin muulla koneella, käytetään oletusporttia.

Kun käynnistät seuraavan URL-osoitteen keskittimen koneessa, saat keskittimeen yhdistettyjen solmujen tilan. Katso korostettu osa alla olevasta kuvakaappauksesta.

Nyt kun Selenium Grid on määritetty, voit jatkaa testiskriptien suorittamista solmuissa. Haluan korostaa uudelleen, että meidän on suoritettava komentosarjoja keskuksessamme, ja ne suoritetaan solmuissamme. Testien suorittamiseen käytetty komentosarja on samanlainen kuin WebDrivertestit.

Seleeniruudukon rakentaminen

Olen suorittanut komentosarjan Eclipse IDE: ssä. Tämän komentosarjan suorittaminen perustuu kahteen tärkeään kirjastopakettiin. He ovat Halutut valmiudet esine ja RemoteWebDriver esine.

DesiredCapability-toimintoa käytetään määrittämään selaimen tyyppi ja solmun käyttöjärjestelmä. Voit tuoda DesiredCapilities-objektin käyttämällä alla olevaa koodia.

tuo org.openqa.selenium.remote.DesiredCapabilities

RemoteWebDriver-sovellusta käytetään valitsemaan solmu, jolla haluamme suorittaa testin. Tuo RemoteWebDriver-objekti käyttämällä seuraavia koodirivejä.

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

Olen tuonut nämä kaksi pakettia yhdessä TestNG-huomautuspaketin kanssa komentosarjani alla olevan koodinpätkän mukaisesti. Olen tuonut TestNG-merkinnät, koska olen suorittanut tämän TestNG-testinä, jolle luodaan yksityiskohtainen raportti. Suosittelen, että tuot saman koodipaketin.

Kun selaat Selenium Hub -konsolissa olevien selainten logoja, saat yksityiskohdat, kuten browserName ja foorumi solmun, jonka haluat automatisoida. Kuva osoittaa myös, kuinka monta selainta voin avata solmussani. Voin määrittää enintään 5 kromi-, 5 Firefox- ja 1 Internet Explorer -instanssia. Nämä tiedot ovat alla olevassa kuvakaappauksessa.

Voit käyttää alla olevan koodinpätkän koodia ensimmäisen ruudukon määrittämiseen.

paketti GridTest tuonti org.testng.annotations.AfterTest tuonti org.testng.annotations.BeforeTest tuonti org.testng.annotations.Test tuonti java.net.MalformedURLException tuonti java.net.URL import org.junit.Assert tuonti org.openqa.selenium .Platform import org.openqa.selenium.WebDriver import org.openqa.selenium.remote.DesiredCapilities import org.openqa.selenium.remote.RemoteWebDriver public class TestGrid {staattinen WebDriver-ohjaimen staattinen merkkijono nodeUrl = 'http://192.168.0.11:5555/wd/hub' DesiredCapilities -ominaisuudet = DesiredCapilities.chrome () valmiudet.setBrowserName ('chrome') -ominaisuudet.setPlatform (Platform.WINDOWS) -ajuri = uusi RemoteWebDriver (uusi URL-osoite (nodeUrl ), ominaisuudet)} @Test public void simpleTest () Edureka ', driver.getTitle ()) @AfterTest public void afterTest () {driver.quit ()}}

Olen jakanut koko testikoodin kolmeen testimerkintään. @BeforeTest, @Test ja @AfterTest. @BeforeTest -ohjelmassa olen määrittänyt solmuni DesiredCapablities- ja RemoteWebDriver-objekteilla. @Testissä olen pyytänyt Solmua siirtymään Edurekan kotisivulle ja vahvistamaan sivun otsikon. @AfterTest -ohjelmassa olen pyytänyt solmua lopettamaan selaininstanssin.

Kun testi läpäisee suorituksen, saat alla olevan tuloksen.

18. toukokuuta 2017 15:09:07 org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Havaittu murre: OSS PASSED: simpleTest ===================== ========================== Oletustesti Testit suoritettu: 1, epäonnistumiset: 0, ohitukset: 0 ========== ===================================== ============= ================================== Oletussarja suoritettujen testien kokonaismäärä: 1, epäonnistumiset: 0, ohitukset: 0 = ================================================

Koska tämä suoritetaan TestNG-testinä, saat yksityiskohtaisen testiraportin, joka on samanlainen kuin alla oleva näyttökuva.

Jos et tiedä mikä on TestNG ja miten testimerkintöjä käytetään, lue sitten blogini siitä, miten sitä käytetään Seleeni-WebDriver ja TestNG tästä Selenium-opetusohjelmasta.

Näet alla olevan videon todistamassa seleeniruudukon rakentamista. Videon toimittava ohjaaja selittää samat käsitteet, jotka on selitetty tässä blogissa.

Selenium Grid -opastus aloittelijoille | Selenium-opetusohjelma Edureka

Joten tämä tuo meidät tämän Selenium Grid -blogin loppuun. Jos sinulla on epäilyksiä tämän blogisarjan koodista / sisällöstä, jätä ne alla olevaan kommenttiosioon ja ratkaisen ongelmasi aikaisintaan.

Jos haluat oppia seleeniä ja rakentaa uraa testausalueella, tutustu interaktiiviseen online-live-sivuihimme tässä mukana tulee 24 * 7 -tuki, joka ohjaa sinua koko oppimisjaksosi ajan.

Onko sinulla kysymys meille? Mainitse se kommenttiosassa ja palaamme sinuun.