Les offres d'automaticien Robot Framework demandent Python, SeleniumLibrary ou Browser pour le web, RequestsLibrary pour les API, Jenkins ou GitLab CI, souvent Jira et Xray, parfois des tests sur Android et iOS. L'outil sert aussi à tester des services sans interface, des fichiers échangés entre systèmes ou des serveurs pilotés par SSH. Les annonces se recoupent : écrire et maintenir une campagne de non-régression qui tourne seule la nuit.
La syntaxe s'apprend en quelques jours, d'où beaucoup de CV qui citent Robot Framework après une formation. Les difficultés viennent ensuite : mots-clés copiés d'un test à l'autre, Sleep fixes, variables globales qui lient les tests, logique complexe écrite en syntaxe Robot au lieu de Python. Un profil confirmé écrit ses propres bibliothèques, parallélise avec Pabot et explique chaque échec du matin.
Demandez à voir un mot-clé que la personne a écrit en Python et la façon dont elle l'a testé. Robot Framework est en version 7.5 : la syntaxe VAR, RETURN et TRY/EXCEPT doivent être connues d'un profil à jour. Le PDF contient 30 questions sur six axes, un cas de 20 minutes et une grille de 1 à 4.
Robot Framework, ses bibliothèques et Python
Robot Framework
Un framework open source écrit en Python, où les tests s'écrivent dans des fichiers .robot sous forme de mots-clés : Ouvrir la page de connexion, Saisir le mot de passe. On compose ses propres mots-clés à partir de ceux des bibliothèques. La version 7.0 a apporté la syntaxe VAR et une nouvelle API de listeners, la 7.4 les variables secrètes. Il produit à chaque exécution un journal détaillé (log.html), un rapport et un fichier output.xml.
Python et bibliothèques maison
Dès qu'un test demande de la logique, l'automaticien écrit une bibliothèque Python dont les fonctions deviennent des mots-clés. Le niveau Python attendu est celui d'un développeur : classes, modules, exceptions, dépendances. Les candidats qui n'écrivent jamais de Python restent limités aux bibliothèques existantes.
Browser
La bibliothèque web la plus récente de Robot Framework, construite sur Playwright. Elle attend toute seule que les éléments soient prêts, réessaie ses vérifications jusqu'à un délai et joint traces et vidéos au journal. Elle pilote Chromium, Firefox et WebKit et demande Node.js sur la machine d'exécution.
SeleniumLibrary
La bibliothèque web historique, construite sur Selenium WebDriver. On la trouve dans la plupart des suites existantes et avec Selenium Grid. Les attentes y sont explicites (Wait Until...), ce qui demande plus de rigueur pour éviter les tests instables.
RequestsLibrary et DatabaseLibrary
La première teste des API HTTP et sert à préparer les données d'un test plus vite que par l'interface. La seconde interroge la base pour vérifier qu'une action a bien été enregistrée. Avec SSHLibrary et Process, elles couvrent les systèmes sans interface graphique.
pytest
Le framework de test standard de Python. Dans ces postes, il sert à tester les bibliothèques maison et à écrire des tests d'intégration en Python pur. Certaines offres d'automaticien Python demandent pytest seul, sans Robot Framework : précisez lequel vous attendez.
Pabot
L'outil qui exécute une campagne Robot sur plusieurs processus en parallèle, par suite ou par test, puis fusionne les résultats. PabotLib sert à réserver une ressource qu'un seul processus peut utiliser à la fois. Il suppose des tests indépendants.
Rapports, CI et traçabilité
Rebot fusionne et retraite les résultats, par exemple après une relance des seuls échecs. La campagne tourne dans Jenkins ou GitLab CI, et le code retour donne le nombre de tests en échec. Les résultats remontent dans Xray ou un autre outil de suivi par import de output.xml ou par listener.
Le poste prend deux formes. Dans la première, l'automaticien construit le cadre : structure des suites, mots-clés métier, bibliothèques Python, CI, et des testeurs fonctionnels écrivent ensuite des tests avec ce vocabulaire. Dans la seconde, il reprend une campagne existante, souvent sous SeleniumLibrary, la stabilise et l'étend. Les tests ne se limitent pas au web : API, base de données, fichiers et serveurs reviennent souvent dans les annonces. Précisez dans l'offre quelle part du travail se fait en Python, et si le web passe par Browser ou par SeleniumLibrary.
Ce qu'un automaticien Robot Framework doit savoir faire
- Conception de mots-clés et de ressources
- Bibliothèques Python personnalisées
- Web avec Browser ou SeleniumLibrary
- Tests d'API, de base et de systèmes
- Variables, données et environnements
- Exécution parallèle et rapports
Les questions à poser sur Robot Framework et Python
Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.
Question 1 · confirmé
Dans votre suite de 300 tests, les mêmes dix lignes de connexion sont copiées partout. Comment la réorganisez-vous ?
Une bonne réponseIl crée des mots-clés utilisateur dans des fichiers de ressources, avec des arguments (Se connecter en tant que ${role}), et place la connexion dans un Suite Setup ou un Test Setup selon le besoin d'isolation. Il sépare deux couches : des mots-clés métier lisibles dans les tests, des mots-clés techniques qui parlent au navigateur ou à l'API. Chaque mot-clé a une documentation, publiée avec Libdoc pour que l'équipe sache ce qui existe déjà.
Signal d'alerteGarder le copier-coller « parce que ça marche », ou tout déplacer dans un seul fichier de ressources de 3 000 lignes que personne n'ose modifier.
Question 2 · confirmé
Quand écrivez-vous un mot-clé en Python plutôt qu'en syntaxe Robot ?
Une bonne réponseDès qu'il y a de la logique : boucles et conditions imbriquées, analyse d'un fichier, calculs, appels à une bibliothèque Python ou à un protocole sans bibliothèque Robot. Il écrit une classe ou un module, expose les méthodes avec le décorateur @keyword de robot.api.deco, utilise les annotations de type pour la conversion des arguments, lève une AssertionError pour faire échouer le test et écrit dans le journal avec robot.api.logger. Les tests restent lisibles, la complexité est dans Python, testée à part.
Signal d'alerteDes FOR et des IF imbriqués sur quarante lignes dans un fichier .robot, ou une bibliothèque Python qui affiche avec print et ne fait jamais échouer le test proprement.
Question 3 · confirmé
Une page met entre 2 et 15 secondes à afficher un tableau. Comment attendez-vous avec SeleniumLibrary, puis avec Browser ?
Une bonne réponseAvec SeleniumLibrary, une attente explicite : Wait Until Element Is Visible ou Wait Until Page Contains Element avec un délai adapté, plutôt que de monter l'attente implicite. Avec Browser, les actions attendent seules que l'élément soit prêt, et les mots-clés de lecture comme Get Text ou Get Element Count acceptent un opérateur d'assertion qui réessaie jusqu'au délai (Get Element Count css=tr > 0). Le délai se règle avec Set Browser Timeout. Jamais de Sleep fixe.
Signal d'alerteUn Sleep 15s, qui ralentit chaque exécution et échoue quand même le jour où la page met 16 secondes.
Question 4 · senior
La campagne dure quatre heures et doit tenir dans la nuit. Comment la parallélisez-vous avec Pabot ?
Une bonne réponsepabot --processes N, avec un découpage par suite par défaut ou par test (--testlevelsplit) si les suites sont déséquilibrées. Il vérifie d'abord que les tests sont indépendants : comptes, données, paramétrage serveur. Les ressources qu'on ne peut pas dupliquer passent par PabotLib (Acquire Lock, jeux de valeurs) pour qu'un seul processus les utilise à la fois. Pabot fusionne les résultats dans un seul output.xml et un seul rapport.
Signal d'alerteLancer en parallèle des tests qui partagent le même compte, ou découper à la main en plusieurs jobs CI sans fusionner les rapports.
Question 5 · junior à confirmé
Comment passez-vous la même suite sur la recette puis sur la préproduction sans modifier les tests ?
Une bonne réponseUn fichier de variables par environnement (Python ou YAML) passé avec --variablefile, ou des valeurs surchargées avec --variable, et des variables d'environnement lues avec %{NOM}. Les mots de passe viennent des variables masquées de la CI ou d'un coffre, jamais du dépôt. Robot Framework 7.4 a ajouté des variables secrètes dont la valeur n'apparaît pas dans les journaux. Des tags permettent d'exclure les tests à ne pas lancer en préproduction.
Signal d'alerteDes URL en dur dans chaque test, ou le mot de passe du compte de test écrit dans un fichier .robot.
Recevez la fiche d'entretien complète en PDF
La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.
- 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
- Le niveau visé pour chaque question
- Une mise en situation de 20 minutes et ce qu'on attend du candidat
- La grille d'évaluation de 1 à 4, axe par axe
Le poste Robot Framework en quatre questions
Robot Framework convient-il à des testeurs qui ne codent pas ?
Oui pour écrire des tests avec des mots-clés qui existent déjà : la syntaxe se lit presque comme une phrase. Il faut quand même quelqu'un qui construise ces mots-clés, écrive les bibliothèques Python et tienne la CI. Si votre équipe compte surtout des testeurs fonctionnels, le profil à recruter est celui qui conçoit ce cadre et le documente. Un deuxième profil qui sait seulement utiliser des mots-clés ne suffira pas à faire vivre la suite.
Que vaut l'expérience Selenium Java pour reprendre une suite Robot Framework ?
Elle apporte les réflexes du test web : localisateurs, attentes, objets page, Selenium Grid. Elle ne couvre ni Python ni la logique de mots-clés de Robot Framework. Un automaticien Selenium Java confirmé s'y met assez vite s'il accepte d'écrire du Python et de penser en couches de mots-clés plutôt qu'en classes. Vérifiez en entretien qu'il a déjà écrit du Python en dehors de scripts courts.
À quoi sert pytest dans un poste Robot Framework ?
À tester les bibliothèques Python qui alimentent les mots-clés, et parfois à écrire des tests d'intégration en Python pur à côté de la campagne Robot. Certaines équipes ont abandonné Robot Framework pour pytest seul. Si votre offre cite les deux, demandez au candidat ce qu'il mettrait dans chacun : sa réponse montre s'il sait séparer les tests lisibles par le métier et le code de test réservé aux développeurs.
Un exercice pratique d'une heure suffit-il pour un automaticien Robot Framework ?
Oui, s'il est bien choisi. Un test technique utile part d'une petite suite existante : des mots-clés copiés à factoriser, un Sleep à remplacer, une vérification à écrire en Python dans une bibliothèque. Ajoutez un output.xml avec trois échecs à expliquer. Une heure suffit pour voir la structure, le Python et la lecture du journal, à condition de débriefer avec la personne ensuite.
Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.




