< Selenium

Selenium - Robot Framework

Szerző: Sallai András

Copyright © 2022, Sallai András

Szerkesztve: 2022, 2023

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

A Robot Framework-ről

A Robot Framework egy általános nyílt forráskódú automatizáló keretrendszer. Tesztek és robotikai folyamatok automatizálására használható.

Itt most a Selenium böngészőautomatizáló eszközzel fogjuk használni.

Webhely:

https://robotframework.org/

A leírásban a Windows telepítések a choco paranccsal vannak leírva, ami a Chocolatey csomagkezelő része.

A telepítés lépései

Lépések

Python telepítése

Robotframework telepítése

Robotframework-Selenium telepítése

VSCode telepítése

Robotframework bővítmény telepítése

Webdriver letöltése oda, ahol a robot van

Webhely megnyitása

Python telepítése

Windowson:

choco install python

Debian GNU/Linuxon alapból rendelkezésre áll.

Robot framework telepítése

Windows

Ha Python most lett telepítve, akkor új parancsablakban kell kiadni:

pip install robotframework

Alapértelmezetten útvonalba kerül.

Linux

pip3 install robotframework

Kapunk egy figyelmeztetést, hogy nincs útvonalban a /home/username/.local/bin könyv.

pip3 install robotframework
Collecting robotframework
Downloading robotframework-5.0.1-py3-none-any.whl (639 kB)
|████████████████████████████████| 639 kB 8.5 MB/s
Installing collected packages: robotframework
WARNING: The scripts libdoc, rebot and robot are installed in '/home/andras/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed robotframework-5.0.1

Útvonalba tesszük a ~/.local/bin könyvtárat:

zsh esetén:

nano ~/.zshrc

bash esetén:

nano ~/.bashrc

A fájl végére:

export PATH=$PATH:~/.local/bin

Új terminálba lépve kapunk három parancsot:

libdoc

rebot

robot

Ellenőrzés

A robot parancs fontos, mert ezzel fogjuk futtatni a tesztet.

rebot --version
robot --version

Robotframework-Selenium telepítése

pip install robotframework-selenium2library

Ellenőrizzük:

pip list

Bővítmények

A Visual Studio Code telepítése Windows alatt:

choco install vscode

A Visual Studio Code bővítményei:

Robot Framework Language Server

Driver letöltése

Megnézzük mi a verziója a Google Chrome-nak.

Megkeressük a verziónak megfelelő drivert:

https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/

Linux esetén kapunk egy chromedriver_linux64.zip, Windows esetén chromedriver_win32.zip fájlt. A tartalmát kicsomagoljuk, kapunk egy chromedriver nevű állományt. Windows esetén chromedrive.exe

Tegyük útvonalba az állományt.

Linux alatt például másoljuk ide:

/usr/local/bin

Windows alatt például ide:

C:\Windows

Minimális teszt készítése

Készítsünk egy Hello.robot nevű fájlt, a következő tartalommal:

*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
Teszteset1
Open Browser https://szit.hu Chrome
Sleep 3s
Page Should Contain Oktatás

A teszt megnyitja a szit.hu weblapot, megnézi, hogy van-e a főoldalon „Oktatás” szó. Ha igen, a teszt teljesül. A Sleep, vagyis a várakozás, akkor hasznos, ha lassú a hálózat, és várni kell például a weboldal betöltésére.

Megjegyzés

# szöveg

Futtatás

A tesztet a robot paranccsal fogjuk futtatni.

Futtatás:

robot Hello.robot

A lehetséges kimenet:

robot Hello.robot
==============================================================================
Hello
==============================================================================
Teszteset1 Teszteset1 | PASS |
------------------------------------------------------------------------------
Hello | PASS |
1 test, 1 passed, 0 failed
==============================================================================
Output: /home/janos/dev/app01/output.xml
Log: /home/janos/dev/app01/log.html
Report: /home/janos/dev/app01/report.html

Input elem kitöltése

*** Setting ***
Library SeleniumLibrary
*** Test Cases ***
Recept keresése
Open Browser https://szit.hu Chrome
Input Text name:q recept
Press Keys name:q ENTER
Page Should Contain Gluténmentes

A szit.hu kereső tesztelése

*** Setting *** Library SeleniumLibrary *** Keywords *** Input Search [Arguments] ${word} Input Text name=q ${word} *** Test Cases *** Recept keresése Open Browser https://szit.hu Chrome Sleep 3s Input Search recept

Futtatás:

robot szithu.robot

Háromszög területszámítás

Kitöltés és kattintás

*** Setting ***
Library SeleniumLibrary
*** Test Cases ***
Input 30, 35-re 525 az elvárás
Open Browser http://localhost:3000 Chrome
Input Text id:base 30
Input Text id:height 35
Click Element id:calcButton
Sleep 3s
Close Browser

Eredmény ellenőrzése

*** Setting ***
Library SeleniumLibrary
*** Test Cases ***
Input 30, 35-re 525 az elvárás
Open Browser http://localhost:3000 Chrome
Input Text id:base 30
Input Text id:height 35
Click Element id:calcButton
${area} Get Element Attribute id:area value
Should Be Equal ${area} 525
Sleep 3s
Input 100, 130-ra 6500 az elvárt
Input Text id:base 100
Input Text id:height 130
Click Element id:calcButton
${area} Get Element Attribute id:area value
Should Be Equal ${area} 6500
Close Browser

https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Should%20Be%20Equal (2023)

Kulcsszavak használata

*** Setting ***
Library SeleniumLibrary
*** Keywords ***
Input Base
[Arguments] ${base}
Input Text id=base ${base}
Input Height
[Arguments] ${height}
Input Text id=height ${height}
Calc Button
Click Element id=calcButton
*** Test Cases ***
Input 30, 35-re 525 az elvárás
Open Browser http://localhost:3000 Chrome
Input Base 30
Input Height 35
Calc Button
Sleep 2s

Robocorp Code

A Visual Studio Code-ban tegyük fel a következő bővítményt:

Robocorp Code

A teszt indítható a Robocorp Code segítségével is.

Baloldalon az akciósávon megjelenik egy kis majom fejecskéhez hasonló ikon. Erre kattintva, megjelenik a Robocorp Code felülete.

Új taskot felül a + gombra kattintva lehet létrehozni.

A feladatok innen indíthatók „Run all tasks”-ra kattintva, de megkötés, hogy a feladatoknak egy tasks.robot nevű fájlba kell legyenek.