Lekce | Název lekce | Obsah |
---|---|---|
1 | Úvod Akademie | |
1.1 | Úvod, představení, nastavení očekávání, termíny | |
1.2 | Test automatizace teoreticky | Proč automatizujeme? Musím umět programovat? Jaký zvolit přístup při psaní automatizací? Jsou automatické testy stejné jako manuální? Co automatizovat? Best practises při psaní testů Metodiky, patterny? Spolupráce s vývojáří a ostatními týmy. |
2 | Terminal, Git | |
2.1 | Terminal, příkazová řádka | Představení co je to příkazová řádka (terminal) a proč ji potřebujeme? Základní příkazy a orientace. Práce se složkou Spouštění aplikací + parametry. Systémové proměnné. |
2.2 | Git 1 | Co jsou to verzovací nástroje? Jak Git funguje (Workspace, Stage, Local, Remote)? Nastavení GitHub/GitLab Nastavení repositáře lokálně (git clone, git init). Zpracování změn (git add, git commit, git push). |
3 | Git, Visual Studio Code | |
3.1 | Git 2 | Synchronizace změn (git pull). Úvod do větvení (git checkout, git merge). Úvod do konfliktů. |
3.2 | Visual Studio Code, IDE | Co je to IDE, Visual Studio Code? Pluginy pro Cypress. Orientace (otevření složek, vyhledávání, zkratky). |
4 | Javascript 1 | Úvod do Javascriptu, co budeme potřebovat? První skript. Hodnoty a Proměnné. Datové typy let, const, var. Volání funkcí. Základní operátory. If. |
5 | Javascript 2 | Cykly, třídy, funkce, bloky, základy OOP |
6 | Úvod Cypress | Co je to Cypress a proč je tak populární? Cypress vs Selenium. Jak Cypress funguje? Práce s dokumentací. Kdy používat Cypress a kdy ne? Představení prostředí a prohlížečů. Orientace v Cypress prostředí. Spuštění demo testu. Verze Cypressu. První test Cypress. Získávání selektoru. Describe, it. cy.get, cy.click, cy.type. Test Runner – vyzkoušení testu. |
7 | Page Object Model | Co to je Page Object model a proč ho používat? Builder pattern. Struktura, vytvoření prvního Page Objectu. Použití Page Objectu v testu. |
8 | Fluent API | Co je to Fluent API? Praktické využití. Page Object + Fluent API. |
9 | Selektory – CSS | Proč potřebujeme umět psát selektory? Jak orientovat selektory. Co je to CSS a CSS selektor. Nástroje na generování selektorů. Základní CSS selektory (identifikace elementů). |
10 | Selektory – XPath | xPath, alternativa k CSS. Rozdíl mezi xPath a CSS. Kdy xPath použít. Komplexní příklady. |
11 | Mocha + Chai | Co je to Mocha knihovna? Cypress viewport. Cypress log. before, beforeEach, after, afterEach. skip, only. Co je to Chai knihovna? Úvod do assertů v Cypress. Kontrola textů, class, viditelnosti, existence, stavu. Negativní testy. |
12 | Debugging + Asistované cvičení | Debugger. Vytvoření Page Objectů, end to end testy. |
13 | Pokročilé ovládání Cypress | Vlastní konfigurace cypressu. within, then. Aliasy. each, wrap. Retry. Práce s cookies. Screenshoty a nahrávky. |
14 | Formuláře | Text field. Radio Buttons. Checkbox. Dropdown. Jak ovládat nestandardní prvky? Nahrávání souborů. |
15 | Akce myší | Scrollování. Double click. Click and hold. Drag and drop. hover. |
16 | Atomické testy | Teorie – proč používáme. Jak psát testy. Direktní přístup k API. |
17 | Co Cypress neumí? Řešení | Více oken, tabů. Více URL. iFrames. Vytváření frameworku, omezení. |
18 | Testování API I. | Úvod do API v Cypress. Zobrazení API v Test Runneru. Cypress intercept. Posílání requestů a zpracování v kódu. |
19 | Testování API II. | Čekání na odpověď. Mockování. Cypress.minimatch. Kontrola API v cypress. |
20 | Data Driven Testing | K čemu je dobrý DDT? Vytvoření konfiguračního souboru. Implementace do Cypress pomocí cy.fixture. |
21 | Spouštění testů (DevOps, Github Actions) + Komplexní zadání příkladu č.1 | Úvod do GitHub Actions Nastavení remote testů Certifikace 1 – zadání, otázky |
23 | Vyhodnocení cvičení + zpětná vazba | |
24 | Slavnostní ukončení |