Robot Framework 6
Úvod
Po Robot Framework 4 a Robot Framework 5 prichádza nová a kulatá, verzia 6. Pôvodne plánovaná ako verzia 5.1, narástla natoľko, že sa vývojári rozhodli povýšiť ju na 6.0 a my sa teraz pozrieme na jej najzaujímavejšie zmeny:
-
Preťažovanie kľúčových slov
-
Premenné ako objekty
-
Súkromné kľúčové slová
-
Podpora Python 3.11
-
Lokalizácia
Preťažovanie kľúčových slov
Nová verzia Robot Frameworku umožňuje, podobne ako C++, definovať kľúčové slová s rovnakým menom a rôznymi parametrami.
*** Test Cases ***
Automatic conflict resolution
Execute "ls"
Execute "ls" with "-lh"
*** Keywords ***
Execute "${cmd}"
Log Running command '${cmd}'.
Execute "${cmd}" with "${opts}"
Log Running command '${cmd}' with options '${opts}'.
V predošlých verziách by táto implementácia skončila chybou ´multiple matching keywords´.
Premenné ako objekty
Ďalšie zlepšenie nastalo pri používaní ´Run Keyword´, kde už nie sú argumenty automaticky konvertované na string a umožňujú predávať premenné ako objekty.
*** Test Cases ***
Example
${foo} = Evaluate {'a':42}
Huu '${foo}' #funguje
Run Keyword Huu '${foo}' #funguje od verzie 6.0
Run Keyword If True Huu '${foo}' #funguje od verzie 6.0
*** Keywords ***
Huu '${foo}'
Log ${foo['a']} WARN
Do teraz by sa pri použití ´Run Keyword´ poslala premenná ${foo} ako string {'a': 42}, v novej verzii sa pošle správne ako dictionary.
Súkromné kľúčové slová
Kľúčové slová v zdrojových súboroch je možné označiť ako súkromné pridaním značky robot:private. Ak sa takéto kľúčové slová používajú mimo tohto zdrojového súboru, zobrazí sa varovanie. Tieto kľúčové slová sú tiež vylúčené z dokumentácie generovanej Libdoc.
Prichádza Python 3.11, odchádza Python 3.6
Bola pridaná oficiálna podpora pre Python 3.11, táto verzia je o 10 - 60 % rýchlejšia ako Python 3.10, takže sa odporúča upgradovať aj keď nevyužijete ostatné novinky.
Zároveň je to posledná verzia s podporou Python 3.6.
Lokalizácia
Tvorcovia sa tiež rozhodli otvoriť Pandorinu skrinku jazykovej lokalizácie. Umožniť prístup k tvorbe testov aj tým, ktorí neovládajú angličtinu je šľachetná myšlienka, ale fragmentácia komunity a nezrozumiteľnosť lokalizovaných implementácií môže spôsobiť množstvo problémov v budúcnosti. Na druhej strane, kto nechcel niekedy písať testy v klingončine, nech hodí kameňom.
Pokiaľ by ste chceli začať používať lokalizovanú verziu riadiacich slov, je to veľmi jednoduché:
Globálne nastavenie pomocou parametru --language:
robot --language Finnish test.robot
je možné použiť aj viac jazykov naraz
robot --language cs --language pl test.robot
Alebo stačí do svojich súborov pridať riadok Language a pokračovať v zvolenom jazyku:
Language: Finnish
*** Asetukset ***
Dokumentaatio Example using Finnish.
Najzábavnejšia bude určite možnosť vytvoriť si vlastný jazyk:
from robot.api import Language
class Pikachu(Language):
settings_header = 'pika'
variables_header = 'pikapi'
test_cases_header = 'pikachu'
A čo ďalej?
Chcete se naučit automatizovat testy pomocí Robot Framework?
Přihlaste se na náš self-study kurz!