Selenium Ruudustiku õpetus: Hubi ja Node'i seadistamine
⚡ Nutikas kokkuvõte
Selenium Grid käivitab mitu testi brauserites, operatsioonisüsteemides ja masinates paralleelselt, kasutades sõlme-ja-ja-sõlme arhitektuuri. Keskus laadib testid ühte masinasse, samal ajal kui sõlmed käivitavad neid teistes, võimaldades kiiremat brauseriteülest katvust käsurea või JSON-konfiguratsiooni kaudu.

Mis on Selenium Võrk?
Selenium võre on osa Selenium Suite, mis on spetsialiseerunud mitme testimise paralleelsele käitamisele erinevates brauserites, operatsioonisüsteemides ja masinates. See saavutatakse kaugbrauseri eksemplaride käskude suunamisega, kus server toimib jaoturina. Kasutaja peab testide läbiviimiseks kaugserveri konfigureerima.
Selenium Gridil on 2 versiooni – vanem Grid 1 ja uuem Grid 2. Keskendume ainult Grid 2-le, kuna Grid 1 on järk-järgult kasutusest loobunud. Selenium Meeskond
Selenium võre Architektuur
Selenium Gridil on jaotur ja sõlm Architektuur.

Keskus
- Jaotur on keskne koht, kuhu testid laadite.
- Võrgustikus peaks olema ainult üks jaotur.
- Jaotur käivitatakse ainult ühes masinas, näiteks arvutis, mille OS on Windows 7 ja mille brauser on IE.
- Jaoturit sisaldav masin on koht, kus testid käitatakse, kuid näete, et sõlmes on brauser automatiseeritud.
Sõlmed
- Sõlmed on Selenium eksemplare, mis käivitavad jaoturisse laaditud testid.
- Võrgustikus võib olla üks või mitu sõlme.
- Sõlme saab käivitada mitmel erineva platvormi ja brauseriga masinal.
- Sõlme käitavad masinad ei pea olema samal platvormil kui jaoturil.
Selenium Grid kasutab jaoturi-sõlme kontseptsiooni, kus testitakse ainult ühes masinas nimega a keskus, kuid täitmist viivad läbi erinevad masinad, mida kutsutakse sõlmed.
Kuidas seadistada Selenium Võrk?
Selles jaotises kasutate 2 masinat. Esimene masin on süsteem, mis käivitab jaoturi, samas kui teine masin töötab sõlme. Lihtsuse huvides nimetagem masinat, kus jaotur töötab, "masinaks A", samas kui masinat, kus sõlm töötab, nimetatakse "masinaks B". Samuti on oluline märkida nende IP-aadressid. Oletame, et masina A IP-aadress on 192.168.1.3, samas kui masina B IP-aadress on 192.168.1.4.
Step 1) Lae alla Selenium Server asukohast siin.
Step 2) Saate paigutada Selenium Serveri .jar-fail kõikjal teie kõvakettal. Kuid selle õpetuse jaoks asetage see nii masina A kui ka masina B C-kettale. Pärast seda olete installimise lõpetanud Selenium Võre. Järgmised sammud käivitavad jaoturi ja sõlme.
Step 3)
- Nüüd käivitame keskuse. Avage masin A. Navigeerige käsuviiba abil masina A – C draivi juure, kuna see on kataloog, kuhu me Selenium Server.
- Tippige käsureale java -jar seleen-server-standalone-2.30.0.jar -role hub
- Jaotur peaks olema edukalt käivitatud. Teie käsuviip peaks välja nägema sarnane allolevale pildile.
Step 4) Teine viis jaoturi töötamise kontrollimiseks on kasutada brauserit. Selenium Grid kasutab veebiliidese jaoks vaikimisi masina A porti 4444. Lihtsalt avage brauser ja minge aadressile http://localhost:4444/grid/console
Samuti saate kontrollida, kas masin B pääseb juurde jaoturi veebiliidesele, käivitades seal brauseri ja minnes kohta, kus "iporhostnameofmachineA" peaks olema selle masina IP-aadress või hostinimi, kus jaotur töötab. Kuna masina A IP-aadress on 192.168.1.3, peaksite masina B brauseris tippima http://192.168.1.3:4444/grid/console
Step 5)
- Nüüd, kui jaotur on juba seadistatud, käivitame sõlme. Minge masinasse B ja käivitage seal käsuviip.
- Liikuge draivi C juure ja tippige allolev kood. Kasutasime IP-aadressi 192.168.1.3, kuna see on koht, kus jaotur töötab. Kasutasime ka porti 5566, kuigi võite valida mis tahes soovitud tasuta pordinumbri.
- MÄRKUS. Kui kasutate, peate nüüd andma Gecko draiverile tee Firefox. Siin on värskendatud kood, mida tuleb kasutada
java -Dwebdriver.gecko.driver="C:\geckodriver.exe" -jar selenium-server-standalone-3.4.0.jar -role webdriver -hub http://192.168.1.3:4444/grid/register -port 5566
- Kui vajutate sisestusklahvi, peaks teie käsuviip olema sarnane allolevale pildile.
Step 6) Mine Selenium Võrgustiku veebiliides ja värskendage lehte. Peaksite nägema midagi sellist.
Siinkohal olete juba lihtsa ruudustiku konfigureerinud. Nüüd olete valmis masinas B kaugtesti käivitama.
Millal kasutada Selenium Võrk?
Sa peaksid kasutama Selenium Ruudustik, kui soovite teha ühte või mõlemat järgmistest:
- Käivitage oma testid erinevate brauserite, operatsioonisüsteemide ja masinatega korraga. See tagab, et rakendus olete Testimine ühildub täielikult paljude brauseri-OS-i kombinatsioonidega.
- Säästke aega oma testkomplektide täitmisel. Kui seadistate Selenium Võrgustik, et käivitada näiteks 4 testi korraga, siis suudaksite kogu komplekti umbes 4 korda kiiremini lõpetada.
Grid 1.0 vs Grid 2.0
Allpool on toodud peamised erinevused Selenium Ruudustik 1 ja 2.
| Võrgustik 1 | Võrgustik 2 |
|---|---|
| Selenium Grid 1-l on oma kaugjuhtimispult, mis erineb Selenium RC server. Need on kaks erinevat programmi. | Selenium Grid 2 on nüüd komplekteeritud Selenium Serveri jar-fail |
| Peate installima ja konfigureerima Apache Sipelgas, enne kui saate ruudustikku 1 kasutada. | Te ei pea Grid 2-sse installima Apache Ant. |
| Saab ainult toetada Selenium RC käsud/skriptid. | Saab toetada mõlemat Selenium RC ja WebDriver skriptid. |
| Ühe kaugjuhtimispuldi kohta saate automatiseerida ainult ühe brauseri. | Üks kaugjuhtimispult võib automatiseerida kuni 5 brauserit. |
Selenium võre saab seadistada kahel erineval viisil; üks läbi käsurea ja teine läbi JSON konfiguratsioonifaili.
Võrgustikus töötavate testskriptide kujundamine
Võrgustikus töötavate testskriptide kavandamiseks peame kasutama Soovitud võimalused ja RemoteWebDriver objektid.
- Soovitud võimalused kasutatakse tüübi määramiseks brauseri ja OS et me automatiseerime.
- RemoteWebDriver kasutatakse selleks, et määrata, millise sõlme (või masina) vastu meie test töötab.
Et kasutada Soovitud võimalused objekti, peate esmalt selle paketi importima
Et kasutada RemoteWebDriver objekti, peate need paketid importima.
Objekti DesiredCapabilites kasutamine
Avage Gridi veebiliides ja hõljutage kursorit selle brauseri pildil, mida soovite automatiseerida. Võtke teadmiseks Platvorm ja brauseri nimi näitab kohtspikker.
Sel juhul on platvorm "XP" ja brauseri nimi "Firefox. "
Kasutame oma WebDriveris platvormi ja brauseri nime, nagu allpool näidatud (muidugi peate esmalt importima vajalikud paketid).
RemoteWebDriveri objekti kasutamine
Importige RemoteWebDriveri jaoks vajalikud paketid ja seejärel edastage objekt DesiredCapabilities, mille lõime ülalpool RemoteWebDriveri objekti parameetrina.
Näidistesti käivitamine võrgus
Allpool on lihtne veebidraiver Testng kood, mille saate luua Eclipse masinal A. Kui olete selle käivitanud, teostatakse masinas B automatiseerimine.
import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.Assert; import org.testng.annotations.*; public class Grid_2 { WebDriver driver; String baseUrl, nodeURL; @BeforeTest public void setUpWthrows MalformedURLException { baseUrl = "http://newtours.demoaut.com/"; nodeURL = "http://192.168.1.4:5566/wd/hub"; DesiredCapabilities capability = DesiredCapabilities.firefox(); capability. setBrowserName("firefox"); capability. setPlatform(Platform.XP); driver = new RemoteWebDriver(new URL(nodeURL), capability); } @AfterTest public void afterTest() { driver.quit(); } @Test public void simpleTest() { driver.get(baseUr1); Assert.assertEquas("Welcome: Mercury Tours", driver.getTitle()); } }
Test peaks läbima.
![]() |
![]() |
Selenium võrgu konfigureerimine JSON-faili abil
JSON tähistab Javascript Objekti tähistus. See on standardvorming, mida kasutatakse brauseri ja veebiserveri vaheliseks andmevahetuseks. Selenium sisaldab sisseehitatud JSON-i konfiguratsioonifaili, mida saab kasutada seleenivõrgu seadistamiseks.
Allpool on toodud juhised seleenivõrgu konfigureerimiseks JSON-i konfiguratsioonifaili abil.
Step 1) Laadige alla JSON-i konfiguratsioonifaili kood, kasutades allolevat teed
Siin on kood
{
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"withoutServlets": [],
"custom": {},
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"registryClass": "org.openqa.grid.internal.DefaultGridRegistry",
"throwOnCapabilityNotPresent": true,
"cleanUpCycle": 5000,
"role": "hub",
"debug": false,
"browserTimeout": 0,
"timeout": 1800
}
Step 2) Kopeerige ja kleepige kood laiendiga ".json" tekstiredaktorisse, näiteks Notepadi
Step 3) Käivitage jaotur, kasutades käsuviipa allolevat käsku
java -jar selenium-server-standalone-2.53.1.jar -role hub -hubConfig hubconfig.json
MÄRKUS: Selenium eraldiseisev jar-fail ja json-fail peavad asuma samas kataloogis
Step 4) Ilmub allolev ekraan, mis näitab, et jaotur on edukalt seadistatud
Step 5) Ava veebibrauser ja proovi luua ühendus allolevaga URL
http://192.168.43.223:4444/grid/console
MÄRKUS: . URL võivad masinati erineda. URL millele järgneb ülaltoodud ekraanil valik „Sõlmed peaksid registreeruma”.
Step 6) Ilmub võrgukonsooli ekraan, mis näitab, et jaotur on valmis ja töötab
Seadistage sõlmed JSON-i abil
Step 1) Laadige alla näidissõlme konfiguratsioonifail, mille pakub Selenium kasutades allpool olevat URL
MÄRKUS: KUI KASUTATE SELENIUM 3.0 VÕI vanemat, TULEB KASUTADA ALLolevat JSON-FAILI
Step 2) Kopeerige ja kleepige kood tekstiredaktorisse (nt Notepad) ja salvestage fail laiendiga ".json".
Step 3)
Käivitage allolev käsk käsureal
Java-Dwebdriver.chrome.driver="chromedriver.exe" -Dwebdriver.ie.driver="IEDriverServer.exe" -Dwebdriver.gecko.driver="geckodriver.exe" -jar selenium-server-standalone-2.53.1.jar -role node -nodeConfig node1.json
MÄRKUS: Enne käsu käivitamist veenduge, et iga brauseri draiverid on kohaliku masina kataloogi alla laaditud
Step 4) Allolev ekraan ilmub sisestusklahvi vajutamisel
Step 5) Liikuge võrgukonsooli, et kontrollida, kas sõlmed on edukalt konfigureeritud
Brauserid kuvatakse võrgukonsoolil. Seega võime olla kindlad, et sõlmed on edukalt konfigureeritud.
Näidistesti juhtumid on sisse lülitatud Selenium Võrgustik:
package com.objectrepository.demo; import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.Assert; import org.testng.annotations.*; public class SeleniumGrid { WebDriver driver; String baseURL, nodeURL; @BeforeTest public void setUp() throws MalformedURLException { baseURL = "https://demo.guru99.com/test/guru99home/"; nodeURL = "http://192.168.43.223:5566/wd/hub"; DesiredCapabilities capability = DesiredCapabilities.chrome(); capability.setBrowserName("chrome"); capability.setPlatform(Platform.WIN10); driver = new RemoteWebDriver(new URL(nodeURL), capability); } @AfterTest public void afterTest() { driver.quit(); } @Test public void sampleTest() { driver.get(baseURL); if (driver.getPageSource().contains("MOBILE TESTING")) { Assert.assertTrue(true, "Mobile Testing Link Found"); } else { Assert.assertTrue(false, "Failed: Link not found"); } } }
Ülaltoodud kood käivitab Chrome'i brauseri ja navigeerib sinna URL määratud 'baasis'URL'muutuja. See kinnitas, et lehel kuvatakse lingi nimi 'Mobiilne testimine'
URL sõlme pealURLMuutujat saab muuta nii, et see kajastaks kaugarvuti IP-aadressi. Testi tulemust saab kontrollida vaikeseadetes. TestNG aruanne loodud







.png)






