selenium grid tutorial
Inleiding tot Selenium Grid en hoe u crossbrowser-tests kunt uitvoeren met Selenium Grid:
We zijn nu dichtbij het einde hiervan uitgebreide Selenium tutorials-serie Volgende week zullen we deze online Selenium Trainingsreeks afsluiten met tutorials 'Inschatting van de Selenium Projecten' en 'Selenium Interview vragen en antwoorden'.
Vandaag laten we je in deze tutorial kennismaken met Selenium Grid - een gedistribueerde testuitvoering omgeving om de uitvoering van een testpas te versnellen. Leer hoe u Crossbrowser-tests kunt uitvoeren met Selenium Grid.
Wat je leert:
- Wat is de behoefte aan het seleniumrooster?
- Voordelen van seleniumraster
- Installeer Selenium GRID
- Browser en knooppunten
- maxInstances
- maxSession
- Voorbeeld rastercode
- Configuratie met JSON-bestand
- Gevolgtrekking
- Aanbevolen literatuur
Wat is de behoefte aan het seleniumrooster?
Als je door het hele gaat Selenium WebDriver-zelfstudies u zult ontdekken dat WebDriver uw testcases op één enkele machine zal uitvoeren.
Hier zijn een paar problemen met een dergelijke configuratie:
- Wat als u uw testcases voor verschillende besturingssystemen wilt uitvoeren?
- Hoe voer je je testcases uit in de verschillende versies van dezelfde browser?
- Hoe voer je je testcases uit in meerdere browsers?
- Waarom zou een scenario wachten op de uitvoering van andere testcases, ook al is het niet afhankelijk van testcases?
Al deze problemen worden aangepakt in Selenium GRID.
Als we doorgaan met de Selenium-cursus, zullen we een idee krijgen hoe we deze problemen kunnen overwinnen. In wezen is de Grid-architectuur gebaseerd op een master-slave-architectuur. Master machine verdeelt testcases naar verschillende slavemachines.
Er zijn 2 versies van Grid beschikbaar. Selenium Grid 2.0 is het nieuwste van Selenium. Selenium 1.0 was de eerdere versie. De meeste Selenium-experts geven er de voorkeur aan om Selenium Grid 2.0 te gebruiken omdat het boordevol nieuwe functies zit. Selenium Grid 2.0 ondersteunt zowel Selenium RC- als Selenium WebDriver-scripts.
Aanbevolen tool:
# 1) LambdaTest
Voer Selenium-automatiseringstests uit op een schaalbare, veilige en betrouwbare cloudgebaseerde Selenium Grid online. Versnel uw Selenium-testautomatisering en vergroot tegelijkertijd uw testdekking door te testen op een online infrastructuur van 2000+ desktop- en mobiele browseromgevingen.
Voorgestelde lezing = >> Automatiseer browsertests met LambdaTest
Voordelen van seleniumraster
- Selenium Grid geeft de flexibiliteit om uw testcases te distribueren voor uitvoering.
- Vermindert de verwerkingstijd van batches.
- Kan multi-browser testen uitvoeren.
- Kan multi-OS-testen uitvoeren.
Basisterminologie van seleniumraster:
Hub : Hub is het centrale punt naar de volledige GRID-architectuur die alle verzoeken ontvangt. Er is maar één knooppunt in het seleniumrooster. Hub verdeelt de testgevallen over elk knooppunt.
Knooppunt : Er kunnen meerdere knooppunten in Grid zijn. Tests worden in knooppunten uitgevoerd. Elk knooppunt communiceert met de hub en voert een test uit die eraan is toegewezen.
Installeer Selenium GRID
Stap 1 : Download het Selenium Server jar-bestand van de officiële website van Selenium, voorheen bekend als Selenium RC Server, en sla het op elke locatie op de lokale schijf op.
URL van selenium HQ: http://www.seleniumhq.org/download/
Stap 2 : Open de opdrachtprompt en navigeer naar een map waarin de server zich bevindt. Start de server met behulp van onderstaande opdracht
java -jar selenium-server-standalone-2.41.0.jar -role hub
De hub zal standaard poort 4444 gebruiken. Deze poort kan worden gewijzigd door het andere poortnummer in de opdrachtprompt door te geven, op voorwaarde dat de poort open is en er geen taak is toegewezen.
De status kan worden gecontroleerd met behulp van de webinterface: http: // localhost: 4444 / grid / console
Stap 3 : Ga naar de andere machine waarop u knooppunten wilt instellen. Open de opdrachtprompt en voer de onderstaande regel uit.
Draai de selenium-server op andere machines om knooppunten te starten.
Browser en knooppunten
Na het starten van hub en knooppunten op elke machine wanneer u naar GRID Console navigeert
U vindt 5 Chrome-, 5 Firefox- en 1 IE-browser onder het Browser-gedeelte zoals hieronder.
Dit geeft aan dat u standaard 5 Chrome-, 5 Firefox- en 1 IE-browser kunt gebruiken.
Als u bijvoorbeeld alleen IE wilt gebruiken, kunt u het knooppunt starten met de onderstaande opdracht:
Verifieer het browsertype samen met andere details in GRID Console door op te klikken bekijk config
Evenzo voor Firefox:
Voor Chrome:
Er zijn enkele scenario's waarbij u de browser van elk type nodig heeft, d.w.z. IE, Chrome en Firefox.
U moet bijvoorbeeld 1 IE en 1 Firefox en 1 Chrome-browser gebruiken
maxInstances
maxInstance wordt gebruikt om het aantal browserinitialisaties in een knooppunt te beperken.
Als u bijvoorbeeld met 2 Firefox en 2 IE wilt werken, kunt u de node starten met maxInstance.
Het maximale aantal exemplaren kan worden geverifieerd op het configuratietabblad.
Evenzo kunnen andere browserinstanties worden geconfigureerd met maxInstances.
maxSession
maxSession wordt gebruikt om te configureren hoeveel aantallen browsers parallel kunnen worden gebruikt in het externe systeem.
Op dezelfde manier kunt u meerdere knooppunten starten en kan de configuratie worden geverifieerd in de console.
KNOOP1:
NODE2:
Voorbeeld rastercode
Hier heb ik TestNG gebruikt om een voorbeeld van een GRID-testcase uit te voeren.
Voorwaarde : Maak Hub en knooppunten zoals eerder uitgelegd en TestNG moet worden geconfigureerd in eclipse.
Hier heb ik een voorbeeldtest gedaan om in te loggen op Gmail en gebruikersnaam en wachtwoord in te voeren
Net als in het voorbeeld, moet u RemoteWebDriver gebruiken als u de GRID gebruikt en moet u de browser mogelijkheden bieden. U moet de browser en het platform instellen zoals hierboven.
producttestsites die dingen verzenden
In dit voorbeeld heb ik het platform als WINDOWS gebruikt. U kunt elk platform gebruiken volgens uw vereisten.
Een versie van de browser kan ook worden ingesteld met behulp van dr.setVersion ('versie')
U moet deze test bijvoorbeeld serieel uitvoeren in meerdere browsers, u moet uw testng.xml configureren. Hieronder vindt u de testng.XML-suite voor bovenstaande test om uw test serieel uit te voeren.
Om de test parallel uit te voeren, moet u uw testng.xml wijzigen zoals hieronder.
Hier in testng.XML moet je de parameter specificeren als parllel 'Tests' en draad tellen '3' beschrijft het maximale aantal threads dat parallel moet worden uitgevoerd.
Configuratie met JSON-bestand
Het raster kan ook samen met zijn configuratie worden gestart met behulp van een JSON-configuratiebestand.
Maak een JSON-bestand voor onderstaande configuratie. Hier heb ik een JSON-bestand gemaakt met de naam grid_hub.json
Start de hub met de onderstaande opdracht
java -jar selenium-server-standalone-2.41.0.jar -role hub –hubConfig grid_hub.json
Maak op dezelfde manier een ander json-bestand voor verschillende knooppunten volgens de vereiste configuratie.
Hier is een voorbeeld van een JSON-configuratiebestand voor het knooppunt met de naam grid_node.json
Om het knooppunt te starten
java -jar selenium-server-standalone-2.41.0.jar -role rc –nodeConfig grid_node.json
U kunt de volledige configuratie van een browser, maxInstances, port, maxSession etc. in het JSON-bestand wijzigen.
U kunt een browserversie opgeven, het platform in het JSON-configuratiebestand zoals hieronder:
'BrowserName': 'chrome', 'version': '8', 'platform': 'Windows'
Gevolgtrekking
Het is aan te raden gebruik Selenium Grid wanneer u multi-browser testen moet uitvoeren en u een groot aantal testgevallen heeft.
In deze module hebben we besproken hoe u Grid-hub en -knooppunten instelt, en hoe u Grid-testgevallen uitvoert met testng.XML en JSON-bestanden.
Volgende les # 30 Automatiseringstesten met tool Selenium en Komkommer Komkommer is een BDD-test gereedschap en Framework. We zullen de functies van de Cucumber-tool en het gebruik ervan in realtime scenario's leren, waaronder hoe Selenium WebDriver te integreren met Cucumber
Plaats uw vragen met betrekking tot Selenium Grid in de onderstaande opmerkingen.
Aanbevolen literatuur
- Docker Selenium-zelfstudie: hoe Selenium Grid te integreren met Docker
- Automatiseringstests met behulp van komkommer-tool en selenium - Selenium-zelfstudie # 30
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Spock voor integratie en functioneel testen met selenium
- Diepgaande Eclipse-zelfstudies voor beginners
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- Geb-zelfstudie - Browserautomatiseringstests met Geb Tool
- Parrot QA-zelfstudie: Cross Browser Functional Testing Tool Review