Tartalomjegyzék

< Selenium

Selenium - Robot Framework

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

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:

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:

Driver letöltése

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:

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.