Testujeme software Testujeme software
  • Úvod
  • Blog
  • Nástroje
  • Slovníček
Testujeme software Testujeme software
Testujeme software Testujeme software
  • Úvod
  • Blog
  • Nástroje
  • Slovníček
  • Blog

Automatizované testování webových aplikací s Robot Frameworkem a RPA.Browser 

  • 27. 7. 2023
  • Jan Zatloukal
Total
0
Shares
0
0
0

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. 

Total
0
Shares
Sdílet 0
Tweetnout 0
Sdílet 0
Související témata
  • Automatizace
  • Open source
  • Python
  • Robot Framework
  • RPA Framework
  • Webové aplikace
  • XPath
Jan Zatloukal

Tester 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.

Předchozí článek
  • Blog

Tabulkový diff pomocí Pythonu

  • 29. 6. 2023
  • Jan Zatloukal
Zobrazit článek
Další článek
  • Blog

Organizace souborů a složek při práci s Robot Frameworkem

  • 10. 8. 2023
  • Petr Nagy
Zobrazit článek
Mohlo by se vám také líbit
Zobrazit článek
  • Blog

Identifikace UI prvků pro automatické testování

  • Jan Zatloukal
  • 21. 9. 2023
Zobrazit článek
  • Blog

Obsidian – automatizace nad poznámkami 

  • Jan Zatloukal
  • 7. 9. 2023
Zobrazit článek
  • Blog

Organizace souborů a složek při práci s Robot Frameworkem

  • Petr Nagy
  • 10. 8. 2023
Zobrazit článek
  • Blog

Tabulkový diff pomocí Pythonu

  • Jan Zatloukal
  • 29. 6. 2023
Zobrazit článek
  • Blog

Software testing očima nováčka, díl II.

  • Vojtěch Camfrla
  • 15. 6. 2023
Zobrazit článek
  • Blog

Automatické spouštění testů během buildu v GitLabu

  • Aleš Tichý
  • 1. 6. 2023
Zobrazit článek
  • Blog

Automatizované testování Windows aplikací s Robot Frameworkem a RPA.Windows 

  • Jan Zatloukal
  • 18. 5. 2023
Zobrazit článek
  • Blog

Perfomance monitoring pomocí Telegrafu a Grafany (1. díl)

  • Radek Vavřín
  • 4. 5. 2023
Doporučené příspěvky
  • 1
    Identifikace UI prvků pro automatické testování
    • 21. 9. 2023
  • 2
    Obsidian – automatizace nad poznámkami 
    • 7. 9. 2023
  • 3
    Organizace souborů a složek při práci s Robot Frameworkem
    • 10. 8. 2023
  • 4
    Automatizované testování webových aplikací s Robot Frameworkem a RPA.Browser 
    • 27. 7. 2023
  • 5
    Tabulkový diff pomocí Pythonu
    • 29. 6. 2023
Poslední příspěvky
  • Software testing očima nováčka, díl II.
    • 15. 6. 2023
  • Automatické spouštění testů během buildu v GitLabu
    • 1. 6. 2023
  • Automatizované testování Windows aplikací s Robot Frameworkem a RPA.Windows 
    • 18. 5. 2023
Rubriky
  • Blog (26)
Testujeme software Testujeme software
  • Edhouse.cz
  • Vyšíváme software
  • Zásady cookies (EU)
Testujeme software – vše o testování software | Všechna práva vyhrazena © 2022

Zadejte klíčové slovo a stiskněte Enter.

Spravovat Souhlas s cookies
Abychom poskytli co nejlepší služby, používáme k ukládání a/nebo přístupu k informacím o zařízení, technologie jako jsou soubory cookies. Souhlas s těmito technologiemi nám umožní zpracovávat údaje, jako je chování při procházení nebo jedinečná ID na tomto webu. Nesouhlas nebo odvolání souhlasu může nepříznivě ovlivnit určité vlastnosti a funkce.
Funkční Vždy aktivní
Technické uložení nebo přístup je nezbytně nutný pro legitimní účel umožnění použití konkrétní služby, kterou si odběratel nebo uživatel výslovně vyžádal, nebo pouze za účelem provedení přenosu sdělení prostřednictvím sítě elektronických komunikací.
Předvolby
Technické uložení nebo přístup je nezbytný pro legitimní účel ukládání preferencí, které nejsou požadovány odběratelem nebo uživatelem.
Statistické
Technické uložení nebo přístup, který se používá výhradně pro statistické účely. Technické uložení nebo přístup, který se používá výhradně pro anonymní statistické účely. Bez předvolání, dobrovolného plnění ze strany vašeho Poskytovatele internetových služeb nebo dalších záznamů od třetí strany nelze informace, uložené nebo získané pouze pro tento účel, obvykle použít k vaší identifikaci.
Marketingové
Technické uložení nebo přístup je nutný k vytvoření uživatelských profilů za účelem zasílání reklamy nebo sledování uživatele na webových stránkách nebo několika webových stránkách pro podobné marketingové účely.
Spravovat možnosti Spravovat služby Spravovat dodavatele Přečtěte si více o těchto účelech
Zobrazit předvolby
{title} {title} {title}