Testing Docs CZ

Dokumentace pro všechny testery



Otázky a odpovědí k Playwright

Téma otázek:

  • 1-8 – Úvod
  • 9-13 – První skript
  • 14-19 - Elementy interakce
  • 20-22 – Locatory
  • 23-27 – Eventy
  • 28-31 – Práce s více stránkami browseru
  • 32 – Iframes
  • 33-37 – Debugging
  • 38-44 – Runner konfigurace
  • 45-53 – Runner – jak psát základní testy
  • 54-55 – Jak psát testy v Playwright s využitím fixtures
  • 56-58 – Testovací artefakty a kde je najdeme
  • 59-62 – Runner visuální porovnání

Otázky odpovědi:

  • 1. Co je Playwrigt? – > Knihovna pro automatizaci testů
  • 2. Jaký je originální jazyk Playerightu? – > JavaScript
  • 3. Které jazyky playwright podporuje? – > JavaScript, Python, TypeScript, .Net
  • 4. Co umí Playwright? – > E2E testování, Cross-browser testování, Cross doménové testování
  • 5. Co je hlavní výhodou Playwright? – > Jednotné API pro všechny podporované
  • 6. Playwright je : ? – > Asynchronní
  • 7. Která klíčová slova je nutné používat při psaní kódu? – > Await, Async
  • 8. Které klíčové slovo pozastaví provádění kódu do té doby, než se asynchroní funkce provede? – > Await
  • 9. Jaká je zkratka JavaScriptové funkce, která se spustí hned, jakmile je definována? – > IIFE
  • 10. Vyber správné (nejlepší) volání pro otevření nové stránky – > const page = await context.newPage()
  • 11. Který argument definuje událost, na kterou bude metoda čekat než bude považovat stránku za načtenou? – > waitUntil
  • 12. Jaké zásadní proměnné definujeme hned v úvodu scriptu? – > browser, context, page
  • 13. Kterým příkazem dojde k zavření stránky? – > await browser.close()
  • 14. Co vykoná metoda page.waitForTimeout(300) – > pozastaví exekuci skriptu na dobo 3000ms
  • 15. Veškeré interakce lze provádět těmito způsoby: (více správných odpovědí)– > použitím metody objektu reprezentující stránku, použitím metody objektu reprezentující element
  • 16. Jaké jsou metody pro práci s checkboxem? (více správných odpovědí) – > check, uncheck
  • 17. Který selector vybere první element z pole elementů? – > nth=0
  • 18. Vlastní selector Playwrightu nth=-1 (v případě, že se jedná o pole s více elementy), mi to vrátí: – > Poslední hodnotu
  • 19. Metoda fill má tyto povinné argumenty: (více správných odpovědí) – > selektor, hodnota pro vyplnění pole
  • 20. Co je to lokátor? – > Představuje logiku, jak získat aktuální reprezentaci elementu webové stránky
  • 21. Vyberte metodu pomocí které se lokátor vytváří: – > page.locator()
  • 22. Pro metodu page.locator() platí: (více správných odpovědí) – > je tzv. striktní: selektoru musí odpovídat pouze konkrétní unikátní element, přijme pouze jeden argument
  • 23. Umožňuje Playwright „naslouchat a reagovat“ na událostí odehrávajících se v rámci stránky nebo browseru, jako např. síťové requesty nebo otevření nové stránky? – > Ano, a je důležité, v jakém pořadí jsou kódy ve snippetu napsané.
  • 24. Co je race condition? – > chyba v systému nebo procesu, ve kterém jsou výsledky nepředvídatelné při nesprávném pořadí nebo načasování jeho jednotlivích operací.
  • 25. Vyber správné pořadí příkladů: – > “page.waitForReqeuest() page.goto(”““““)”
  • 26. K čemu slouží metoda page.on()? – > k naslouchání specifického eventu, který se zadá jako argument metody
  • 27. K čemu slouží metoda JSON.stringify()? – > převede objekt nebo hodnotu JavaScriptu na řetězec JSON
  • 28. Při vytvoření nové stránky se jako metoda pro čekání použije: – > context.waitForEvent(“page”)
  • 29. Jaká metoda slouží k přepínání mezi dvěma stránkami? – > žádná se nepoužívá, v playwright můžeme pracovat s oběma najednou
  • 30. K čemu slouží metoda console.log()? – > k vypsání výsledků do konsole
  • 31. Která metoda se použije pro zpomalení exekuce? – > waitForTimeout
  • 32. Která metoda slouží k získání iframe? – > page.frame()
  • 33. K čemu se používá nástroj Playwright Inspector? –> Napomáhá při identifikaci a debuggingu chyb
  • 34. Jaké možnosti nabízí Playwright pro debugging? (více správných odpovědí)– > Playwright Inspector, Prostřednictvím developer console, Vnitřním logováním Playwrightu do console
  • 35. Jak nastavíme enviromentální proměnnou pro aktivaci Playwright inspector?– > PWDEBUG=1
  • 36. Kterou hodnotu musíme přiřadit enviromentální proměnné pro zapnutí debuggingu v automatizovaném browseru? – > PWDEBUG=“console”
  • 37. Jakým způsobem zobrazíme vnitřní logování Playwrightu do konzole? – > PWDEBUG=“pw:api”
  • 38. Jak se jmenuje nativní test runner Playwrightu? –> Playwright Test
  • 39. Kdy použijeme test runner Playwright test? – > Testování webových stránek a aplikací
  • 40. Co je hlavní výhodou Playwright testu? – > Nativní test runner, který je max kompaktibilní s playwright automatizační knihovnou a jeho požitím se např. o startování browseru, kontextů a stránek apod. nemusíte starat.
  • 41. Jak musí být pojmenován konfigurační soubor, aby ho po umístění do kořene projektu testrunner automaticky identifikoval? – > playwright.config.js
  • 42. Jakou hodnotu musí mít property headless, pokud chceme sledovat browser při exekuci? – > true
  • 43. Jak se nazývají testovací konfigurace, které vytváříme v konfiguračním souboru? – > projects
  • 44. Co určují workers? – > Maximální počet paralelně exekuovaných souborů s testy
  • 45. Kterým příkazem v CMD se spouští testy? – > npx playwright test
  • 46. Soubory, které obsahují testy, či scénáře s testy, které má Playwright Test runner spustit, se pojmenovávají: – > [jmeno souboru].spec.js
  • 47. Callback funkce je: – > 1. poskytnuta jiná funkce jako argument a je spuštěna až po splnění určité podmínky v rámci funkce, která ji používá. 2. často se píše jako anonymní funkce jako argument funkce, která ji používá.
  • 48. K čemu slouží metoda test.describe? – > K rozčlenění testů do testovacích suit
  • 49. Co je test objekt? – > Slouží k psaní testů a volání metod souvisejících s exekucí testů.
  • 50. Co je expect objekt? – > Knihovna k verifikaci asertů.
  • 51. Jaké 2 argumenty přijímá testovací funkce? – > Název testu a call back function
  • 52. Jakou metodu musím v rámci metody describe doplnit, aby nebyly testy spouštěny sekvenčně: – > parallel
  • 53. Jakou metodou lze exekuci testů provádět souběžně? – > parallel
  • 54. Co jsou fixtures? (více správných odpovědí) – > Kousky kódu, funkce, stringy či jiné datové typy, které umožní velmi flexibilně konfigurovat testy
  • 55. Který příkaz v CMD slouží ke spuštění testů s fixtures, pokud jsou označeny tagem “@withfixture”? – > npx playwright test –grep=@withfixture
  • 56. Co je Playwright Test Viewer? – > Nástroj umožnující prohlédnout si zaznamenané traces
  • 57. Jaké testovací artefakty můžeme definovat? (více správných odpovědí) – > Video, Screenshots, Trace
  • 58. Co vše je možné v Playwright Test Viewer zobrazit? (více správných odpovědí) – > Screenshoty, seznam všech akcí které proběhly, časová historie událostí při exekuci testu
  • 59. Která metoda slouží pro vizuální testování, kdy dochází k porovnání snapshotů vygenerovaných při první exekuci se snapshoty z následných exekucí – > toMatchSnapshot()
  • 60. Jakou metodu získáme screenshot? – > screenshot()
  • 61. Použitím jaké metody získáme název stránky? – > title()
  • 62. Jakým způsobem se snapshoty aktualizují? – > Příkazem npx playwright test –update-snapshots
Nejdůležitější články:
  • Co je automatizované testování
  • Otázky a odpovědí k Playwright