edhouse-CookieGdpr-Policy-s
7643043
0
/cz/gdpr/
864650B6B

Zpět na Blog

NávodySQA

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.

V jednom z předchozích článků jsme si ukázali, jak testovat Windows aplikace pomocí Robot Frameworku a RPA.Windows. Stejné nástroje můžeme použít i pro automatizaci testování webových aplikací, jen vyměníme RPA.Windows za RPA.Browser (konkrétněji za RPA.Browser.Selenium, který používá pro ovládání prohlížeče populární Selenium WebDriver).

Pro ukázku jsem si vybral jednoduchou kalkulačku ze seznamu webových aplikaccí od Butche Mayhewa, na kterých si můžete zkoušet vaše automatizační schopnosti. 

Instalace

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 

Identifikace elementů

RPA.Browser nabízí několik možností jak lokalizovat elementy na webové stránce. V mém příkladu použiji lokalizaci pomocí HTML atributů a XPath

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 Zatloukal

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.