selenium grid tutorial
Úvod do selenové mřížky a jak provádět testování mezi prohlížeči pomocí selenové mřížky:
Nyní jsme téměř u konce komplexní řada výukových programů selenu . Příští týden zakončíme tuto online sérii školení Selenium výukovými programy „Odhad úsilí projektů Selenium“ a „Otázky a odpovědi k otázkám selenu“.
Dnes vám v tomto tutoriálu představíme Selenium Grid - a distribuované provedení testu prostředí k urychlení provedení testovacího průchodu. Naučte se, jak provádět testování mezi prohlížeči pomocí Selenium Grid.
Co se naučíte:
- Co je potřeba selenové mřížky?
- Výhody selenové mřížky
- Nainstalujte Selenium GRID
- Prohlížeč a uzly
- maxLátky
- maxSession
- Ukázkový kód mřížky
- Konfigurace pomocí souboru JSON
- Závěr
- Doporučené čtení
Co je potřeba selenové mřížky?
Jak procházíte celým Návody k selenu WebDriver zjistíte, že WebDriver provede vaše testovací případy na jednom počítači.
Tady je několik problémů s takovým nastavením:
- Co když chcete provést testovací případy pro různé operační systémy?
- Jak spustit testovací případy v jiné verzi stejného prohlížeče?
- Jak spustit testovací případy ve více prohlížečích?
- Proč by měl scénář čekat na provedení dalších testovacích případů, i když nezávisí na žádných testovacích případech?
Všechny tyto problémy jsou řešeny v Selenium GRID.
Jak budeme pokračovat v kurzu selenu, získáme představu o tom, jak můžeme tyto problémy překonat. Gridová architektura je v zásadě založena na architektuře master-slave. Hlavní stroj distribuuje testovací případy do různých podřízených strojů.
K dispozici jsou 2 verze Gridu. Selenium Grid 2.0 je nejnovější ze selenu. Selen 1.0 byl dřívější verze. Většina odborníků na selen upřednostňuje použití Selenium Grid 2.0, protože je nabitý novými funkcemi. Selenium Grid 2.0 podporuje skripty Selenium RC a Selenium WebDriver.
Doporučený nástroj:
# 1) LambdaTest
Proveďte testování automatizace selenu na škálovatelné, zabezpečené a spolehlivé cloudové selenové síti online. Zrychlete svou automatizaci testování selenu a současně zvyšte pokrytí testů testováním na online infrastruktuře 2000+ prostředí stolních a mobilních prohlížečů.
Doporučené čtení = >> Automatizujte testování prohlížeče pomocí LambdaTest
Výhody selenové mřížky
- Selenium Grid poskytuje flexibilitu pro distribuci testovacích případů k provedení.
- Snižuje čas dávkového zpracování.
- Může provádět testování více prohlížečů.
- Může provádět testování více operačních systémů.
Základní terminologie selenové mřížky:
Rozbočovač : Hub je ústředním bodem celé GRID architektury, která přijímá všechny požadavky. V selenové mřížce je pouze jeden rozbočovač. Centrum distribuuje testovací případy mezi každý uzel.
Uzel : V Gridu může být více uzlů. Testy budou probíhat v uzlech. Každý uzel komunikuje s rozbočovačem a provádí k němu přiřazený test.
Nainstalujte Selenium GRID
Krok 1 : Stáhněte si jarní soubor serveru Selenium z oficiálního webu Selenium, který byl dříve znám jako Selenium RC Server, a uložte jej na libovolné místo na místním disku.
URL centrály selenu: http://www.seleniumhq.org/download/
Krok 2 : Otevřete příkazový řádek a přejděte do složky, kde je umístěn server. Spusťte server pomocí níže uvedeného příkazu
java -jar selen-server-standalone-2.41.0.jar -role hub
Rozbočovač bude ve výchozím nastavení používat port 4444. Tento port lze změnit předáním jiného čísla portu v příkazovém řádku za předpokladu, že je port otevřený a nebyl mu přidělen úkol.
Stav lze zkontrolovat pomocí webového rozhraní: http: // localhost: 4444 / grid / console
Krok 3 : Přejděte na druhý stroj, kde chcete nastavit uzly. Otevřete příkazový řádek a spusťte níže uvedený řádek.
java -jar selenium-server-standalone-2.41.0.jar -role node -hub http://localhost:4444/grid/register -port 5556
Spusťte server selenu na jiných strojích a spusťte uzly.
Prohlížeč a uzly
Po spuštění rozbočovače a uzlů na každém počítači, když přejdete na konzolu GRID
V části Prohlížeč najdete níže 5 prohlížečů Chrome, 5 prohlížečů Firefox a 1 prohlížeč IE.
To znamená, že ve výchozím nastavení můžete používat 5 prohlížečů Chrome, 5 prohlížečů Firefox a 1 prohlížeč IE.
Chcete-li například použít pouze IE, můžete uzel spustit pomocí níže uvedeného příkazu:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore
Ověřte typ prohlížeče spolu s dalšími podrobnostmi v konzole GRID kliknutím na zobrazit konfiguraci .
Podobně pro Firefox:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox
Pro Chrome:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome
Existuje několik scénářů, kdy budete možná potřebovat prohlížeč od každého typu, tj. IE, Chrome a Firefox.
Možná budete muset použít například 1 IE a 1 Firefox a 1 prohlížeč Chrome
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore -browser browserName=firefox -browser browserName=chrome
maxLátky
maxInstance se používá k omezení počtu inicializace prohlížeče v uzlu.
Například pokud chcete pracovat se 2 Firefoxy a 2 IE, můžete uzel spustit pomocí maxInstance.
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox,maxInstance=3
Maximum instance lze ověřit na kartě konfigurace.
Podobně lze konfigurovat další instance prohlížeče pomocí maxInstances.
maxSession
maxSession se používá ke konfiguraci počtu paralelních prohlížečů ve vzdáleném systému.
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome,maxInstance=3 -browser browserName=firefox,maxInstance=3 –maxSession 3
Podobně můžete spustit více uzlů a konfiguraci lze ověřit v konzole.
NODE1:
NODE2:
Ukázkový kód mřížky
Zde jsem použil TestNG ke spuštění ukázkového testovacího případu GRID.
Předpoklad : Vytvořte rozbočovač a uzly, jak bylo vysvětleno dříve, a TestNG by měl být nakonfigurován v zatmění.
Zde jsem provedl ukázkový test pro přihlášení do Gmailu a zadání uživatelského jména a hesla
public class GridExample { @Test public void mailTest() throws MalformedURLException{ DesiredCapabilities dr=null; if(browserType.equals('firefox')){ dr=DesiredCapabilities.firefox(); dr.setBrowserName('firefox'); dr.setPlatform(Platform.WINDOWS); }else{ dr=DesiredCapabilities.internetExplorer(); dr.setBrowserName('iexplore'); dr.setPlatform(Platform.WINDOWS); } RemoteWebDriver driver=new RemoteWebDriver(new URL('http://localhost:4444/wd/hub'), dr); driver.navigate().to('http://gmail.com'); driver.findElement(By.xpath('//input(@id='Email')')) .sendKeys('username'); driver.findElement(By.xpath('//input(@id='Passwd')')) .sendKeys('password'); driver.close(); }
Stejně jako v příkladu musíte použít RemoteWebDriver, pokud používáte GRID a musíte poskytovat funkce prohlížeči. Musíte nastavit prohlížeč a platformu výše.
jak používat torrent soubory po stažení
V tomto příkladu jsem použil platformu jako OKNA. Můžete použít libovolnou platformu podle vašich požadavků.
Verze prohlížeče může být také nastavena pomocí dr.setVersion („verze“)
Pro instanci musíte tento test spustit sériově ve více prohlížečích, které musíte nakonfigurovat testng.xml. Níže je sada testng.XML pro výše uvedený test, aby se váš test spustil sériově.
Chcete-li spustit test paralelně, musíte změnit svůj testng.xml, jak je uvedeno níže.
Tady v testng.XML musíte zadat parametr jako paralelně = „Testy“ a počet vláken = „3“ popisuje maximální počet podprocesů, které mají být spuštěny paralelně.
Konfigurace pomocí souboru JSON
Mřížku lze také spustit spolu s její konfigurací pomocí konfiguračního souboru JSON.
Vytvořte soubor JSON, který má níže konfiguraci. Tady jsem vytvořil soubor JSON pojmenovaný jako grid_hub.json
{ 'host': null, 'port': 4444, 'newSessionWaitTimeout': -1, 'servlets' : (), 'prioritizer': null, 'capabilityMatcher': 'org.openqa.grid.internal.utils.DefaultCapabilityMatcher', 'throwOnCapabilityNotPresent': true, 'nodePolling': 5000, 'cleanUpCycle': 5000, 'timeout': 300000, 'maxSession': 5 }
Spusťte rozbočovač pomocí níže uvedeného příkazu
java -jar selen-server-standalone-2.41.0.jar -role hub –hubConfig grid_hub.json
Podobně vytvořte jiný soubor JSON pro různé uzly podle požadované konfigurace.
Zde je příklad konfiguračního souboru JSON pro uzel pojmenovaný jako grid_node.json
{ 'capabilities': ( { 'browserName': 'chrome', 'maxInstances': 2 }, { 'browserName': 'firefox', 'maxInstances': 2 }, { 'browserName': 'internet explorer', 'maxInstances': 1 } ), 'configuration': { 'nodeTimeout':120, 'port':5555, 'hubPort':4444, 'hubHost':'localhost', 'nodePolling':2000, 'registerCycle':10000, 'register':true, 'cleanUpCycle':2000, 'timeout':30000, 'maxSession':5, } }
Spuštění uzlu
java -jar selen-server-standalone-2.41.0.jar -role rc –nodeConfig grid_node.json
V souboru JSON můžete změnit veškerou konfiguraci prohlížeče, maxInstances, port, maxSession atd.
Můžete zadat verzi prohlížeče, platformu v konfiguračním souboru JSON, jak je uvedeno níže:
{
„BrowserName“: „chrome“, „version“: „8“, „platforma“: „Windows“
}
Závěr
Je vhodné použijte Selenium Grid, když musíte provést testování s více prohlížeči a máte velký počet testovacích případů.
V tomto modulu jsme se zabývali tím, jak nastavit Grid hub a uzly spolu s tím, jak spustit Grid testovací případy pomocí souboru testng.XML a JSON.
Další výuka # 30 : Automatizační testování pomocí nástroje selen a okurka . Okurka je testování BDD nástroj a rámec. Naučíme se funkce nástroje Okurka a jeho použití v reálných scénářích včetně jak integrovat Selenium WebDriver s okurkou .
Zašlete své dotazy týkající se Selenium Grid v níže uvedených komentářích.
Doporučené čtení
- Výukový program pro Docker Selenium: Jak integrovat selenovou mřížku s Dockerem
- Automatizační testování pomocí nástroje Cucumber Tool a Selenium - Selenium Tutorial # 30
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Spock pro integraci a funkční testování se selenem
- Výukové programy pro zatmění do hloubky pro začátečníky
- Úvod do Selenium WebDriver - Selenium Tutorial # 8
- Výukový program Geb - Testování automatizace prohlížeče pomocí nástroje Geb
- Výukový program Parrot QA: Recenze funkčního testovacího nástroje pro různé prohlížeče