Szelénrács beállítása elosztott szelénvizsgálathoz



Ez a blog segít megérteni a szelénrács szükségességét és előnyeit. Olvassa el az első szelénrács beállításához az elosztó és csomópontok konfigurálásával.

A Selenium oktatósorozat többi blogja a tesztesetek létrehozásáról és a tesztesetek egymás utáni és párhuzamos végrehajtásáról szól. Tehát a vitára bocsátott utolsó technika a tesztesetek végrehajtása távoli gépekben. A Selenium Grid használható ezeknek a teszteknek a távoli gépeken / gazdagépeken történő végrehajtására. Ennélfogva ez a mai blog témája.

  1. Miért és mikor kell használni a szelén rácsot?
  2. Mi az a szelén rács?
  3. 1. szelénrács és 2. szelénrács
  4. A szelénrács felépítése
  5. Szelénrács építése

Miért és mikor kell használni a szelénrácsot?

Nagyon sok webböngésző van használatban ma. Előfordulhat, hogy a felhasználók a Chrome-ot vagy a Firefoxot, vagy a Safari-t, vagy az Operát, vagy akár az Internet Explorert használják e blog olvasásához. Lehet, hogy a böngészők különböző verzióit használják. Lehet, hogy ezeket a böngészőket bármilyen operációs rendszeren futtatják, legyen az Windows vagy Mac, vagy Ubuntu, vagy bármely más Linux disztribúció.





java különbség kiterjed és megvalósul

Mi lenne, ha a felhasználók valami fontosat látnának az interneten? Valami fontos az üzleted számára. Nem akarja megtenni ezt a mérföldet (tesztelni a webalkalmazást), csak azért, hogy a felhasználók és / vagy az ügyfelek a legjobb felhasználói élményt szerezzék? Ugye, igaz?

Nos, meg kéne!



De kérdés, mennyire kivitelezhető? Tölthet időt webes alkalmazásának tesztelésével minden lehetséges operációs rendszeren és minden elérhető böngészőn? Hmm, ez kissé kihívásnak tűnik. A Selenium Grid itt illik a számlához és segítspóroljon időt és energiát.

Ezen felül még egy kérdés merül fel: Vajon életképes-e a szelénhálózati infrastruktúra kiépítése helyi rendszerek felhasználásával? A rács fenntartása az összes szükséges böngészővel és operációs rendszerrel kihívást jelent. Ehhez több olyan online platform létezik, amely online szelénrácsot biztosít, amelyhez hozzáférhet a szelén automatizálási szkriptjeinek futtatásához. Például használhatja LambdaTest . Több mint 2000 böngészőkörnyezettel rendelkezik, amelyeken keresztül futtathatja tesztjeit és valóban automatizált keresztböngésző tesztelését.

Mi a szelén rács?

A Selenium Grid egy másik fontos eszköz a Selenium eszközcsomagban. A Grid képes koordinálni a WebDriver teszteket / RC teszteket, amelyek egyszerre futhatnak több böngészőben, vagy különböző operációs rendszereken elindíthatók, vagy akár különféle gépeken is tárolhatók.



rácsmunka - szelénrácsSzóval, hogy működik ez? A Grid egy Hub-Node architektúrát alkalmaz, ahol van egy Hub, amely mesterként működik, és egy vagy több Node, mint rabszolga.

Ez azt jelenti, hogy ha összesen 100 elvégzendő munka / teszt van, akkor a teszteket egyszerre lehet végrehajtani 5 gépben, ahol minden gép 20 tesztet fog futtatni. Valójában ezeket a teszteket az operációs rendszerek és a böngészők különböző kombinációiban hajthatja végre. Minden gép itt különféle operációs rendszerből állhat, és az egyes operációs rendszerek belsejében a tesztek különböző böngészőkön végezhetők el.

Ez a művelet sok időt takaríthat meg a teszt végrehajtásával. Ha figyelembe vesszük a fenti példát, akkor csökkenthetjük a végrehajtási időt az egy gépen végzett tesztek végrehajtásához szükséges teljes idő 1/5-ére.

Ha fel tudsz idézni korábbi blogjaimból, akkor számtalanszor említettem, hogy a Grid a Szelénium projekt része volt annak megalakulása óta, vagyis a Szelénium v1 óta. A Selenium Grid szintén a Selenium v2 része volt, és jelenleg a Selenium v3 része. A szelénrács v2 és v3 között nincs sok különbség. A v1-nek azonban sok különbsége van összehasonlítva. Tehátértsd meg a v1 és v2 közötti különbségeket.

1. szelénrács és 2. szelénrács

A Grid v1.0 és v2.0 közötti alapvető különbség az, hogy az RC-t az 1. rácsban, a WebDriver-t pedig a 2. rácsban használták. Az alábbi táblázat részletesen ismerteti a különbségeket.

1. rács 2. rács
Az Apache Ant telepítése szükségesAz Apache Ant telepítése nem szükséges
Saját távirányítóval rendelkezik (ez eltér az RC szervertől)A Selenium Server jar fájljával együtt
Csak a Selenium RC parancsokat támogatjaTámogatja a Selenium RC és a WebDriver szkripteket is
Távirányítónként csak egy böngészőt automatizálhatTávirányítónként legfeljebb 5 böngészőt automatizálhat


Most, hogy megismertük a két változat közötti alapvető különbségeket, merüljünk el mélyen a szelénrácsban.

A szelén rács felépítése

Mint korábban említettem, a Grid egy Hub és több Node alapján működik. De mi az a Hub és a Nodes, és mit csinálnak?

A Hub

A Grid bármelyik beállításában csak egy Hub lehet, és ez lesz a Grid beállítás központi pontja. Minden végrehajtandó tesztet be kell tölteni ide. Az itt betöltött tesztek ellenére csak a Node-okon hajtják végre őket. Bármely gazdagépet konfigurálhatunk központunknak, és ez koordinálja a tesztfuttatás tevékenységét más gépeken.

Ahhoz, hogy ez megtörténjen, először konfigurálnunk kell a központot, majd más csomópontokat kell létrehoznunk, hogy regisztrálhassanak a hubra. Mielőtt túl sok részletre térnék ki, hadd mutassam meg a Hub konfigurálásának parancsát.

A központ konfigurálása

Először le kell töltenie a Selenium server JAR fájlt a Seleniumhq webhelyéről. A link az itt . Azt is ellenőriznie kell, hogy a Java telepítve van-e a rendszerben, és a környezeti változók be vannak-e állítva.

Miután letöltötte a jar fájlt, el kell helyeznie egy megfelelő könyvtárba. A kényelem érdekében letöltöttem és a C Drive Selenium mappájába helyeztem. Javasoljuk, hogy töltse le a jar fájlt is, és helyezze el egy hasonló könyvtárba az összes többi csomópontban.

A Hub konfigurálásához futtatnia kell a parancsot a Windows parancssorában. A parancs az alábbi részletben található.

C: UsersVardhan> cd .. C: Felhasználók> cd .. C:> cd Selenium C: Selenium> java -jar selenium-server-standalone-3.4.0.jar -role hub

Az szelén-kiszolgáló-önálló-3.4.0.jar a letöltött jar fájl neve.
Az -szerep jelzővel az adott gazdagépet Hubként állíthatja be. Amikor megnyomja az Enter billentyűt, az alábbi kimenetet kapja meg a képernyőn.

Ha nem vette észre a fenti képernyőképet, akkor nézze meg újra. Azt mondja ' -A csomópontoknak regisztrálódniuk kell a http://192.168.0.11:4444/grid/register webhelyre ’. Most, hogy a hub konfigurálva van, be kell állítanunk a csomópontokat, és össze kell kötnünk őket ezzel a hubdal.

A 192.168.0.11 a hub IP-címe, és minden csomópontnak csatlakoznia kell ehhez az IP-címhez. A 4444 az alapértelmezett portszám, amelyen a Selenium Grid tárolódik, és meghallgatja a kéréseket. Ha valamilyen más szolgáltatás fut a 4444-es porton, és azt szeretné, hogy a Selenium Grid egy másik porton legyen, akkor ezt megadhatja a -kikötő zászló, majd a portszám.

A csomópontok

A csomópontok azok a gazdagépek, amelyeken a teszteket futtatják. Ezeket a teszteket a Hub fogja elindítani. A központ elindíthat egy vagy több csomópontot távoli gépeken vagy ugyanazon a gépen, ahol maga a hub található. Mindegyik csomóponton különböző operációs rendszerek indíthatók, és különböző operációs rendszereken ugyanazon böngésző vagy különböző böngészők különböző verziói indíthatók.

A csomópontok konfigurálása

A Hubhoz hasonlóan előbb le kell töltenie a Jar fájlt a Node gépekbe, és az Ön kényelme érdekében be kell helyeznie a C meghajtóra vagy bármely más általános könyvtárba. Ezután futtathatja az alábbi parancsot a Windows parancssorában. Ha még a Node-ot is elindítja ugyanazon a gépen, mint a Hub, akkor egy másik parancssor elindításával kell futtatnia a parancsot.

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

Csak néhány különbség van ebben a parancsban a Hub indításához szükséges paranccsal összehasonlítva.
-Dwebdriver.chrome.driver = E: chromedriver.exe a böngésző illesztőprogramjának elérési útjának beállítására szolgál. Hasonlóan a böngésző illesztőprogramjának útvonalához a WebDriver kódban, itt is meg kell adnia, hogy a csomópont teszteket hajthasson végre. A Selenium v3 verziótól kezdve le kell töltenie az illesztőprogram böngészőjét a Firefox számára. A Firefox böngésző-illesztőprogramja a Gecko-illesztőprogram. Az 1. és a 2. verzióban azonban be kell állítania a böngésző illesztőprogramját a Firefox kivételével az összes böngészőhöz.
-csomópont jelzővel az adott gazdagépet csomópontként állíthatja be.
-hub http://192.168.0.11:4444/grid/register tájékoztatja a Csomópontot, hogy csatlakozzon a Hubhoz a Hub IP-címének használatával. Fontos megjegyezni, hogy ha bármely csomópontot elindít ugyanazon a gépen, mint a hub, akkor megadhatja a -hub http: // localhost: 4444 / grid / register ‘A parancsban a Hub IP-címe helyett.

hogyan kell telepíteni a php-t a Windows rendszerre

Amikor megnyomja az Enter billentyűt, megkapja az alábbi kimenetet a parancssorban.

Mostanra a Csomópont csatlakoztatva lett volna a Hub-hoz. Ellenőrizheti, hogy visszatérve a Hub indításához használt parancssorhoz, és észreveszi a következő üzenetet: Regisztrált egy csomópontot: http://192.168.0.11:5555 ’.

Az IP-cím és a portszám megegyezik a csomópontéval. Mivel a csomópontom ugyanazon a gépen van, mint a hubom, a csomóponthoz használt port 5555. Ha valamilyen más gépen kezdeményezi, akkor az alapértelmezett port lesz használva.

Amikor elindítja a következő URL-t a hub gépén, megkapja a hubhoz kapcsolt csomópontok állapotát. Lásd az alábbi képernyőkép kiemelt részét.

Most, hogy a szelén rács konfigurálva van, folytathatja a teszt szkriptek végrehajtását a csomópontokon. Hadd hangsúlyozzam még egyszer, hogy szkripteket kell futtatnunk a központunkban, és azokat a csomópontjaink hajtják végre. A tesztek végrehajtásához használt szkript hasonló a WebDriverheztesztek.

A szelén rács építése

Futtattam a szkriptemet az Eclipse IDE-ben. A szkript végrehajtása két fontos könyvtárcsomagra támaszkodik. Ők DesiredCapability tárgy és RemoteWebDriver tárgy.

A DesiredCapability a böngésző típusának és csomópontunk operációs rendszerének beállítására szolgál. A DesiredCapability objektum importálásához használja az alábbi kódot.

import org.openqa.selenium.remote.DesiredCapabilities

A RemoteWebDriver segítségével kiválasztható az a csomópont, amelyen tesztet akarunk végrehajtani. A RemoteWebDriver objektum importálásához használja az alábbi kódsorokat.

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

Ezt a két csomagot a TestNG annotations csomaggal együtt importáltam a szkriptemhez, az alábbi kódrészlet szerint. Azért importáltam a TestNG kommentárokat, mert ezt TestNG tesztként hajtottam végre, amelyről részletes jelentés készül. Azt javaslom, hogy ugyanezt a csomagkészletet importálja a kódjához.

Ha a Selenium Hub konzolban található bármelyik böngésző logója felett manőverez, megkapja a részleteket, például: browserName és a felület az automatizálni kívánt csomópontból. A kép azt is jelzi, hogy hány böngészőt tudok megnyitni a Csomópontomban. Legfeljebb 5 Chrome, 5 Firefox és 1 Internet Explorer példányt tudok konfigurálni. Ezek a részletek az alábbi képernyőképen találhatók.

Használhatja az alábbi kódrészlet kódját az első rács beállításához.

csomag 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.DesiredCapilities import org.openqa.selenium.remote.RemoteWebDriver public class TestGrid {static WebDriver illesztőprogram statikus karakterlánc nodeUrl @BeforeTest nyilvános érvénytelen beállítás nodeUrl = 'http://192.168.0.11:5555/wd/hub' DesiredCapability képességek = DesiredCapilities.chrome () képességek.setBrowserName ('chrome') képességek.setPlatform (Platform.WINDOWS) illesztőprogram = új RemoteWebDriver (új URL (nodeUrl ), képességek)} @Test public void simpleTest () Edureka ', driver.getTitle ()) @AfterTest public void afterTest () {driver.quit ()}}

A teljes tesztszkriptet három teszt annotációra osztottam. @BeforeTest, @Test és @AfterTest. A @BeforeTest alkalmazásban a DesiredCapablities és a RemoteWebDriver objektumokat használtam a csomópontom konfigurálásához. A @Testben megkértem a Csomópontot, hogy navigáljon Edureka kezdőlapjára, és állítsa be az oldal címét. Az @AfterTestben megkértem a csomópontot, hogy lépjen ki a böngészőpéldányból.

Amikor a teszt sikeresen végrehajtja a végrehajtást, megkapja az alábbi kimenetet.

2017. május 18. 15:09:07 org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Észlelt nyelvjárás: OSS PASSED: simpleTest ===================== ========================== Alapértelmezett teszt Futtatott tesztek: 1, Hibák: 0, Ugrások: 0 ========== ===================================== ============= ================================== Alapértelmezett csomag Futtatott tesztek száma összesen: 1, hibák: 0, kihagyások: 0 = ================================================

Mivel ezt TestNG tesztként hajtják végre, részletes tesztjelentést kap, hasonlóan az alábbi képernyőképhez.

Ha nem tudja, mi a TestNG, és hogyan kell használni a tesztjegyzeteket, akkor olvassa el a blogomat, hogyan kell használni Szelén WebDriver a TestNG-vel ebből a szelén oktató sorozatból.

Az alábbi videót láthatja, hogy szemtanúja lehet egy szelénrács építésének bemutatójáról. A videót oktató oktató a blogban ismertetett fogalmakat ismerteti.

Szelén rács bemutató kezdőknek | Szelén oktatóanyag Edureka

Tehát ezzel eljutunk ennek a Szelénháló blognak a végére. Ha bármilyen kétsége van vagy problémája merülne fel a blogsorozat bármelyik kódjával / tartalmával kapcsolatban, kérjük, hagyja őket az alábbi megjegyzések részben, és én leghamarabb megoldom a problémáját.

Ha meg szeretné tanulni a szelént és karriert szeretne kialakítani a tesztelési területen, akkor nézze meg interaktív, élő online oldalunkat itt 24 * 7 támogatás jár, amely végigvezeti Önt a tanulási időszak alatt.

Van egy kérdésünk? Kérjük, említse meg a megjegyzések részben, és mi kapcsolatba lépünk Önnel.