10. diel - Testovanie v Pythone - Návrhový vzor PageObject Nové
V minulej lekcii, Testovanie v Pythone - Akceptačné testy pre Selenium, sme naučili našu webovú aplikáciu v Python frameworku Django, aby sa sama preklikala a overila, či funguje. Využili sme k tomu samozrejme framework Selenium.
V dnešnom Python tutoriáli si predstavíme návrhový vzor PageObject a jeho implementáciu v Pythone. Použitím tohto návrhového vzoru vylepšíme naše existujúce akceptačné testy.
Návrhový vzor PageObject
Pre našu kalkulačku, ale aj pre reálne aplikácie menšieho rozsahu by bol postačujúci spôsob písania akceptačných testov, ktorý sme videli v predošlých lekciách. Avšak, pri väčších aplikáciach sa začneme stretávať s duplikáciou niektorých činností. Príkladom je potreba prihlásenia vo viacerých testoch, čo je niekoľko riadkov vyplňovania formuláru pre login. Iným príkladom môže byť opakovaná potreba pridávania komentárov pod rôzne články počas testovania. Kopírovať stále rovnaký kód porušuje princíp DRY. Riešením by mohlo byť použitie nejakej pomocnej triedy, prípadne využiť nejakého predka testovacej triedy. Existuje však sofistikovanejší spôsob - návrhový vzor PageObject.
Podobne ako Data Access Object (DAO) obsahoval metódy pre prácu s údajmi určitej entity, PageObject obsahuje
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Obsah článku spadá pod licenciu Premium III, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V tutoriáli si predstavíme návrhový vzor PageObject a jeho implementáciu v Pythone. Vylepšíme naše akceptačné testy v Seleniu.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.