Selenium WebDriver – architektúra frameworku

Selenium WebDriver – architektúra frameworku
10 MIN
30 jún 2023

V predchádzajúcom príspevku na tému Selenium intro – úvod sme sa dozvedeli o rôznych súčastiach Selenium, jeho výhodách a obmedzeniach. Tento tutoriál je založený na hlavnej súčasti testovacej sady Selenium – Selenium Webdriver. Dozvieme sa tu o architektúre frameworku Selenium WebDriver, jeho jednotlivých súčastiach a následne o jeho fungovaní.

Obsah

Architektúra Selenium WebDriver

Na dôkladné pochopenie automatizácie webového používateľského rozhrania pomocou Selenium WebDriver sú potrebné znalosti jeho architektúry. Aby sme pochopili architektúru, musíme najprv poznať štyri komponenty, ktoré tvoria tento framework.

Schéma architektúry Selenium WebDriver:

Selenium Client Library

Vývojári Selenium WebDriver umožnili podporu rôznych programovacích jazykov. Knižnica Selenium Client Library alebo súčasť jazykových väzieb architektúry Selenium WebDriver nám umožňuje písať skripty automatizácie Selenium v jazyku podľa nášho výberu – Java, Python, C#, Ruby, Javascript a podobne.

Ovládače prehliadača

Pre každý z podporovaných prehliadačov Selenium máme samostatný ovládač prehliadača. Tieto ovládače prijímajú príkazy zo skriptov Selenium a odovzdávajú ich príslušným prehliadačom.
Týmto spôsobom tieto ovládače prehliadačov umožňujú komunikáciu medzi skriptom Selenium s rôznymi prehliadačmi. Aj táto komunikácia prebieha bez toho, aby sa odhalila vnútorná logika týchto prehliadačov. Niektoré z ovládačov prehliadačov v programe Selenium sú: FirefoxDriver, ChromeDriver, InternetExplorerDriver, SafariDriver, OperaBrowser, EdgeDriver a HtmlUnitDriver.

Protokol JSON Wire cez HTTP

JSON alebo JavaScript Object Notation je ľahký dátový formát na ukladanie a prenos údajov. Protokol JSON wire poskytuje možnosť prenosu údajov medzi klientom a serverom cez web.
V architektúre WebDriver sa protokol JSON wire používa na komunikáciu medzi skriptami Selenium a ovládačmi prehliadača.

Prehliadače

Táto zložka architektúry Webdriver v Selenium je pomerne jednoduchá. Prehliadače prijímajú príkaz a volajú príslušnú metódu na vykonanie požadovanej automatizačnej úlohy. Rôzne prehliadače podporované programom Selenium sú – Chrome, Firefox, IE, Edge, Safari, Opera atď.

Vysvetlenie automatizácie pomocou Selenium WebDriver

Je čas pozrieť sa na vnútorné fungovanie automatizácie webových aplikácií v rôznych prehliadačoch pomocou Selenium WebDriver. Príklad vykonania jednoduchej úlohy automatizácie:

WebDriver driver = new FirefoxDriver();

driver.get(„https://ittester.sk“);

driver.findElement(By.id(„button“)).click();

Skript je napísaný v jazyku Java. Komponent Selenium Client Library nám teda pomáha pri vytváraní skriptov v jazyku Java. Pomocou protokolu JSON wire komunikuje klient Selenium s ovládačom prehliadača (v prípade nášho príkladu Firefox). Vykoná operáciu get() na spustenie webovej stránky ITtester.sk a potom klikne na tlačidlo.

Ovládač prehliadača Firefox potom odošle príkazy príslušnému prehliadaču. Po úspešnom dokončení automatizačných úloh sa odpoveď odošle späť do automatizačného skriptu.

Týmto sme ukončili tutoriál ohľadom architektúry WebDriver v nástroji Selenium. Pokračujeme ďalšou kapitolou nášho tutoriálu návodov – Selenium WebDriver – inštalácia. Tento návod ti pomôže nastaviť Selenium na tvojom počítači.