Tartalomjegyzék
Selenium - Robot Framework
- Szerző: Sallai András
- Copyright © 2022, Sallai András
- Szerkesztve: 2022, 2023
- 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:
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:
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
- szithu.robot
*** 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
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.