Úvod do testování v Playwright

Hledáte nástroj pro automatizaci testování? V dnešním článku se podíváme na zoubek nástroji Playwright. Zaměříme se na to jaké je testování v Playwright, jaké má výhody či nevýhody, a také se podíváme jak se s ním testuje.

Co je to Playwright?

Vyvinut Microsoftem, Playwright je jeden z dalších open-source nástrojů dynamicky se vyvíjejícího oboru Automatizace Testování. Zaměřuje se jak na webové, mobilní i API testování. Cílem vývojářů je vytvořit end-to-end automatizační nástroj, který je schopen zautomatizovat velkou část webových aplikací.

Proč zvolit Playwright

Proč zvolit testování v Playwright a ne například Selenium, Cypress nebo Robot Framework?

Jeden z důvodu je ten, že vývojáři Playwright se snaží vytvořit nástroj, který bude podporovat otestování většiny operačních systémů a aplikací. Používají k tomu moderní přístup, který se zaměřuje na to, aby Test Automation Engineer mohl testovat a nemusel automatizovat desítky hodin do vyvíjení automatizačního frameworku.

Ihned po instalaci můžete:

  • Vytvářet stabilní Frontend i API testy,
  • Používat Playwright UI k debugování a vytváření testů,
  • Reportovat a logovat,
  • Spouštět testy paralelně,
  • Spouštět testy na cloud (GitHub Actions).

Podporuje velkou část prohlížečů. Například:

  • Chromium (Google Chrome, Edge)
  • Firefox
  • WebKit (Safari)

Podporuje i testování mobilních zařízení pomocí jejich emulace.

Jaké jazyky Playwright podporuje?

Pro psaní skriptů můžete použít:

  • Javascript
  • Typescript
  • Python
  • Java
  • .NET

Díky jeho vzrůstající oblibě je také čím dál jednodušší najít řešení problémů a chyb.

NPM: počet stažení Cypress, Playwright, Selenium za poslední 2 roky

Playwright vyniká zejména podporou mobilního testování, jednoduchostí používání a také API testováním.

Hledáte-li porovnání Playwright a Cypress, podívejte se náš článek!

Start testování Playwright

Chcete zjistit, jak začít testování v Playwright? V této kapitole se podíváme na to, jak nastavit Playwright, napsat jednoduchý test a spustit jej. Ukážeme si Typescript variantu.

Co k tomu potřebuji?

Pro instalaci Playwright budete potřebovat:

Instalace Playwright

Instalaci Playwright budeme provádět v Terminálu/Příkazovém řádku. Nejdříve si na disku vytvořte složku, kde budete mít Playwright projekt uložený.

Následně v této složce otevřeme Terminál (MacOs/Linux) / Příkazový řádek (Win)

Terminál s otevřenou složkou Playwright Blog

Následně v této složce vytvoříte Node.js projekt, který bude uchovávat informace. Uděláme to příkazem:

npm init playwright@latest

Následně se vás terminál doptá na detaily konfigurace:

  • Potvrzení instalace
  • Výběr programovacího jazyka – Typescript
  • Umístění testů – potvrďte výchozí
  • Vytvoření GitHub Actions workflow – vyberte “y”
  • Instalace prohlížečů – vyberte “y”
Terminál s postupem instalace Playwright

Po potvrzení všech kroků npm stáhne a nainstaluje Playwright i všechny potřebné nástroje. Pozor, toto může zabrat několik minut v závislosti na rychlosti vašeho internetu.

Potvrzení instalace Playwright v Terminálu

Spuštění testů

V rámci instalace nám Playwright vytvořil i ukázkové testy. Můžeme je ihned vyzkoušet spustit pomocí příkazu:

npx playwright test

Tento příkaz spustí všechny vzorové testy. Všimněte si, že testy běží pomocí takzvaných “workerů”. Znamená to, že testy jsou bez jakékoliv dodatečné konfigurace spouštěny paralelně (více testů zároveň).

Testování v Playwright: výsledky testů

A to je vše, co musíte pro spuštění testů udělat. Pojďme se nyní podívat na to, jak testy napsat a zahájit naše reálné testování v Playwright

Vytvoření prvního testu

Pro vytvoření našeho prvního testu budeme potřebovat editor, takzvaný IDE (Integrated Development Environment). Já používám Visual Studio Code.

První krok je otevření našeho projektu v IDE. Po zapnutí VS Code otevřete složku s naším Playwright projektem.

VS Code s otevřenou složkou.

Testy jsou umístěny ve složce tests, vytvoříme v ní nový soubor s příponou .spec.ts.

Nyní už jen napíšeme náš test. Tento test provede:

  • Otevření našeho webu.
  • Kliknutí na sekci Kurzy.
  • Kliknutí na kontaktní formulář.
  • Vyplnění Jména a příjmení ve formuláři.
import { test } from "@playwright/test";

test("Open tredgate contact form and fill name", async ({ page }) => {
  await page.goto("https://tredgate.cz/");
  await page.locator("#menu-item-2782").click();
  await page
    .locator("//a[contains(text(),'Máš dotazy? Kontaktuj nás')]")
    .click();
  await page.locator("#g2277-jmno").type("Josef Test");
});

Všimněte si, že jsme použili několik příkazů pro vytvoření našeho testu.

PříkazVysvětlení
importSlouží k tomu, abychom v našem testu vytvořili vazby na Playwright knihovnu a mohli použít příkaz test()
test()Tímto klíčovým slovem obalujeme náš test. Obsahuje 2 parametry: název a funkci pro tělo testu. Veškeré kroky testu musí být umístěny v této funkci.
goto()Slouží k otevření webové stránky.
locator()Slouží k identifikaci elementu pomocí CSS selektoru či xPath.
click()Klikne na element.
type()Napíše text do elementu.

Více informací naleznete v dokumentaci Playwrightu.

Spuštění prvního testu

Nyní jsme připraveni náš test spustit. Pro spuštění využijeme možnosti vytvoření reportu přímo v terminálu, a proto použijeme upravený spouštěcí příkaz:

npx playwright test --reporter=list
Výsledky testování pomocí reporter list

Report je v terminálu nyní zřetelnější a vidíme zde výpis výsledků všech našich testů.

Testování v Playwright

Playwright je vytvořený tak, aby Engineer, který vytváří testy měl jednoduchý a otevřený přístup k jeho API. Ihned po instalaci je tedy možné skriptovat testy včetně doplňkových vlastností jako je reportování či paralelní běh. Díky tomuto přístupu je učení Playwright rychlé a jednoduché. Je ale ovšem jako u všech skriptovacích nástrojů ovládat programovací jazyk ve kterém testy píšete. Chcete se o Playwright dozvědět více? Přihlaste se na náš 2 denní kurz, více informací a přihlášku naleznete na stránkách kurzu.

Akce: chceš získat naši mikinu? Přihlas se na jakýkoliv kurz a přidej kód: CHCIMERCH!

Závěr

Playwright je jeden z moderních automatizačních nástrojů, který ukazuje kam směřuje budoucnost automatizace testování. Je to také výborná volba pro osobní rozvoj v rámci testování.

Doufám, že se vám dnešní článek líbil, a že jste v něm nalezli informace, které jste hledali. Budeme moc rádi pokud článek budete sdílet či sdělíte váš názor do komentářů.

Leave a Reply