Penser au-delà de l’ordinaire
Industrialiser vos projets
L’industrialisation d’un projet désigne l’ensemble des démarches, des méthodes, et des outils mis en œuvre pour rendre les processus de conception, de développement, de déploiement, et de maintenance d’un projet plus efficaces, standardisés et reproductibles. L’objectif est de garantir une qualité constante, de réduire les coûts, d’optimiser les délais, et de minimiser les erreurs humaines en automatisant autant que possible les étapes répétitives ou critiques.
Dans un contexte professionnel, il est essentiel d’uniformiser les méthodes et les bonnes pratiques pour la création des projets Robot Framework. Cela garantit que tous les projets au sein de l’organisation partagent des caractéristiques cohérentes, facilitant leur compréhension et leur reprise par l’ensemble des collaborateurs. Il est donc essentiel de définir une structure de projet qui soit claire et standardisée.
Le premier composant auquel on s’intéressera est celui constitué des tests, qui restent le cœur du projet. Les tests sont organisés dans un répertoire dédié, généralement nommé tests/, où chaque suite de tests est représentée par un fichier ou un sous-dossier spécifique. Cette organisation permet de regrouper les cas de test par fonctionnalités ou domaines. Par exemple, un fichier login.robot peut contenir les tests relatifs à l’authentification, tandis qu’un sous-dossier user_management/ peut inclure des fichiers spécifiques comme user_creation.robot pour les tests de création de comptes utilisateurs, et user_deletion.robot pour ceux liés à leur suppression.
tests/
├── login.robot
├── user_management/
├── user_creation.robot
│ ├──user_deletion.robot
Le deuxième composant auquel on s’intéresse est constitué des fichiers Resources, qui regroupent les mots-clés réutilisables dans le projet. Ces fichiers Resources sont organisés dans un répertoire dédié, généralement nommé resources/, où se trouvent...
Penser au-delà de l’ordinaire
Robot Framework ne se limite pas à un simple outil d’automatisation, mais constitue également un puissant framework Python offrant une extensibilité remarquable. Grâce à cette flexibilité, il est possible d’affirmer que presque tout peut être automatisé avec Robot Framework. Pour tout composant ou système avec lequel il est possible de communiquer et de vérifier les résultats via Python, ou d’autres langages supportés par Robot Framework, il existe généralement une bibliothèque spécifique ou personnalisée qui permet de les automatiser.
L’objectif de cette section est de proposer une expérience originale et amusante. Imaginons un testeur automaticien qui est également un musicien amateur. Il souhaite réaliser une reprise d’une chanson et cherche un rythme de batterie constant et répétitif, sans interruption, qui pourra servir de base ou de fond sonore pendant qu’il joue sa chanson. Ne disposant pas d’une batterie physique ni d’outils professionnels qu’il ne maîtrise de toute façon pas, il décide d’utiliser les moyens à sa disposition pour satisfaire son besoin.
Après quelques recherches, il découvre une application web appelée Musicca, qui permet de jouer des rythmes de batterie en utilisant un clavier ou une souris. Il commence par tester manuellement la stabilité du site et s’assure que son fonctionnement correspond à ses attentes. Convaincu par les résultats, il décide d’adopter cette plateforme pour son projet. En réfléchissant, il envisage d’automatiser les interactions avec la batterie virtuelle en ligne de Musicca afin d’assurer un rythme joué de manière continue et répétitive, sans nécessiter d’intervention manuelle.

La batterie virtuelle de Musicca
Il crée d’abord une bibliothèque qu’il appelle BatterieMusicca :
#BatterieMusicca.py
import pyautogui
class BatterieMusicca:
def cymbale_crash(self):
pyautogui.press('y')
def cymbale_ride(self):
pyautogui.press('u') ...
Intégration avec une IA
Depuis l’apparition de ChatGPT, l’IA est devenue une véritable tendance qui suscite un engouement mondial. Comparée à des révolutions comme l’émergence de Google, cette avancée marque un tournant dans la manière de concevoir l’interaction entre les humains et la technologie. L’intelligence artificielle générative, notamment, ouvre des perspectives inédites dans de nombreux domaines : automatisation des tâches, création de contenu, développement logiciel, ou encore personnalisation de l’expérience utilisateur.
À l’instar de ce que Google a apporté en facilitant l’accès à l’information, l’IA générative démocratise des outils auparavant complexes, rendant accessibles des capacités d’analyse, de rédaction ou de résolution de problèmes à des utilisateurs non experts. Cependant, cette révolution soulève également des questions éthiques et des défis liés à la régulation, à la confidentialité des données, et à l’impact sur le marché du travail.
Cette transformation profonde ne se limite pas au secteur technologique : l’éducation, la santé, les services et même les arts s’adaptent à ces nouveaux outils, modifiant ainsi les usages et les attentes. Il s’agit d’une période charnière où l’IA promet de transformer durablement les interactions humaines et les pratiques professionnelles, à l’image des révolutions précédentes qui ont profondément marqué le paysage numérique.
Le domaine de l’automatisation des tests n’échappe pas à l’impact de l’intelligence artificielle. Dans cette section, un cas spécifique sera identifié, dans lequel le testeur souhaite déléguer une tâche à l’IA, que ce soit par manque de compétence technique, par souci d’efficacité, ou pour optimiser le temps de réalisation. Dans la continuité des travaux réalisés dans la section précédente et pour les faire évoluer, l’objectif...
Résumé
Dans ce chapitre, plusieurs concepts essentiels ont été abordés. Le premier concerne l’optimisation de l’industrialisation et de l’automatisation des projets. Il a été souligné qu’une bonne structuration d’un projet, en séparant les différentes parties telles que data, resources et libraries, facilite la gestion, la collaboration et la scalabilité à long terme. L’importance des environnements virtuels a également été mise en avant, car ils permettent d’assurer l’uniformité des packages et des versions utilisés dans les différents environnements (développement, test, production), ce qui aide à éviter les conflits de dépendances et à maintenir la cohérence des configurations.
La section Penser au-delà de l’ordinaire a montré comment automatiser des composants peu conventionnels. Cela a permis de démontrer la flexibilité de l’automatisation et son potentiel à étendre les scénarios de tests traditionnels.
Dans la section Intégration avec l’IA, un module nommé ai.py a été développé pour interagir avec le modèle ChatGPT et générer des rythmes sous forme de texte, ces derniers étant ensuite transformés en listes d’actions...