Article 11·robot·2 min de lecture

Robot Framework : la mentalité keyword-driven

Du code qui se lit comme un manuel utilisateur.

Robot Framework, créé chez Nokia en 2008 et maintenu par la Robot Framework Foundation, est un framework de test automation keyword-driven écrit en Python. Sa différence majeure avec Cypress, Selenium ou Playwright : les tests sont tabulaires, chaque ligne est un "keyword" (mot-clé) avec ses arguments, et le tout se lit naturellement en anglais. Exemple de test Robot : `Login User [email protected] password123` puis `Verify Dashboard Loaded`. Sous le capot, chaque keyword est implémenté soit en Python (custom keyword) soit fourni par une library standard. Les libraries built-in couvrent : SeleniumLibrary (UI web), AppiumLibrary (mobile native), RequestsLibrary (REST), DatabaseLibrary, SSHLibrary, ImageLibrary. Une library tierce, BrowserLibrary, encapsule Playwright et offre un keyword-set quasi identique mais 4x plus rapide. L'intérêt principal de Robot vient du séparation responsabilités : les ingénieurs QA (parfois non-développeurs) écrivent les scénarios en haut-niveau, les développeurs implémentent les keywords sous-jacents en Python. Cela fonctionne particulièrement bien dans les grosses équipes (Cisco, ABB, F-Secure, Nokia toujours) où des testeurs métier valident la couverture sans devoir lire du code Python ou TypeScript. Le piège : si le projet est petit (≤3 développeurs, pas de testeur dédié), Robot ajoute une couche d'indirection coûteuse. Chaque nouveau keyword Python doit être documenté, packagé, et l'overhead syntaxique de Robot (whitespace-sensitive, deux espaces obligatoires) devient une friction. Pour un projet de ce genre, utilise Playwright ou Cypress directement. La sortie de Robot — un rapport HTML structuré avec timing, screenshots, et stack traces — est un autre atout. Le rapport est navigable par non-techniques (managers, product owners) qui peuvent vérifier d'un coup d'œil quels scénarios ont échoué dans la dernière run nightly. Le format est self-contained (un seul fichier .html), facile à archiver dans un CI artifact. Sur SallyCards, on utilise Robot pour la suite mobile E2E (Appium + BrowserLibrary pour les web views internes), pas pour le back-office. La suite a 200 keywords partagés qui décrivent les actions métier ("Deal Klondike Hand", "Drag Card To Foundation", "Verify Win Modal"), et 84 scénarios qui les composent. La maintenance se fait à un seul endroit (le fichier de keywords) — quand l'UI change, on met à jour 1 keyword et 30 scénarios redeviennent verts. Sans Robot, on aurait 30 fichiers à modifier. Pour démarrer : `pip install robotframework robotframework-browser` puis `rfbrowser init` (installe les drivers Playwright). Crée un fichier `example.robot` avec un test minimal, lance `robot example.robot`. La courbe d'apprentissage est de quelques heures pour écrire des tests simples, ~2 semaines pour devenir productif sur un projet réel.
robotfundamentals
IK

ÉCRIT PAR

Idriss Kriouile

Fondateur de SallyStar · Full-stack engineer · Morocco

Idriss Kriouile — DevOps · Test QA Manager · Tech Lead DevOps & QA