Automatizované testování webových aplikací s Robot Frameworkem a RPA.Browser
Tech_blog
Webové aplikace jsou dnes velmi populární, a v některých oblastech dokonce převládají nad těmi desktopovými. Jejich vývojáři můžou nové verze vydávat i několikrát denně a automatizace v těchto případech hraje velmi důležitou roli.
Instalace RPA framework je jednoduchá, použijeme k tomu balíčkovací system PIP:
pip install rpaframework
Spuštění prohlížeče
Test začneme spuštěním prohlížeče. Klíčové slovo Open Browser nabízí několik možností, můžeme například volbu prohlížeče nechat na frameworku, respektive operačním systému, samostném:
Open Available Browser
Nebo prohlížeč nastavit explicitně:
Open Browser browser=chrome
V dalším kroku můžeme přejít na adresu testované aplikace:
Go To https://testsheepnz.github.io/BasicCalculator.html
Podrobnější postup lokalizace vydá na celý článek, prozatím si tedy vystačíme jen s tímto základem. Pro lepší porozumění jsem si zobrazil HTML kód kalkulačky, očistil jej a vybral z něj (pro nás) důležité prvky:
Zdrojový kód aplikace nebo daného elementu si můžeme v prohlížeči Chrome zobrazit pravým tlačítkem myši a kontextovou volbou Inspect:
Test kalkulačky
Na prvních dvou řádcích testu jsem do prvního a druhého pole kalkulačky zadal čísla pro součet. První pole jsem lokalizoval pomocí atributu id, druhé pomocí name:
Input Text id:number1Field 99 Input Text name:number2 1
I když je ve výchozím stavu aplikace nastavena na součet (operace Add), pro jistotu jsem ji v testu vybral znovu. Všimněte si, že namísto “Add” jsem jako hodnotu použil „0”. Když se podíváte do zdrojového kódu, zjistíte, že „Add” je pouze název dané volby, její skutečná hodnota je ale „0” (<option value="0">Add</option>):
Select From List by Value id:selectOperationDropdown 0
Po zadání vstupních hodnot klikneme na tlačítko “Calculate” a ověříme vypočítanou hodnotu z pole s výsledkem:
Click Button id:calculateButton ${result}= Get Value id=numberAnswerField Should Be Equal ${result} 100
Na závěr po sobě „uklidíme” zavřením prohlížeče. Před tím ale, stejně jako v předchozím případně, uděláme kontrolní screenshot.
U screenshotu je potřeba zadat do parametru také lokátor prvku, který chceme zachytit. Namísto celé stránky jsem vybral jen formulář s kalkulačkou a lokalizoval ji pomocí XPath:
Screenshot //form[@id="calcForm"] calculator_web.jpg Close Browser
Výsledný test
Výsledný soubor s testem najdete opět na našem GitHubu. Oproti ukázkám v článku jsem přidal pár změn – získání výsledku výpočtu jsem převedl na klíčové slovo a k názvu souboru screenshotu jsem přidal časové razítko.
Sdílet článek
Autor
Jan ZatloukalTester a vývojář se zálibou v automatizaci a zlepšování procesu vývoje. Aktuálně pracuji na projektu automatizace elektronových mikroskopů v Pythonu.