Automatisation de tests sans squash-autom via l'api rest

mblaze
Messages : 6
Inscription : lun. juil. 25, 2022 2:16 pm

Automatisation de tests sans squash-autom via l'api rest

Message par mblaze »

Bonjour à tous,

Je viens à vous pour une question assez générale; ne connaissant pas suffisamment squash, c'est une question de faisabilité.

Alors, voici le contexte :

L'ensemble des tests fonctionnels sont réalisés sur squash-tm (sans structure Gherkin ou BDD). Ces cas de tests sont relativement simple, avec ou sans pas de tests et sans jeux de donnée ou d'actions. Ils sont simplement écrits de façon à être compréhensible par un utilisateur qui les exécutent manuellement.(oui, j'utilise qu'une minorité des fonctionnalité de squash :p )

En local, j'ai commencé à coder des scripts en python utilisant Appium et Selenium voir directement des commandes basiques ADB (Android Debug Bridge) afin d'effectuer des cas de tests automatiquement. Par exemple, nous avons les classes :
authification_test pour tester la création d'un user
login_test pour tester l'authentification
etc..,

Ces scripts réalisent un ensemble d'action dans un environnement local comprenant : des vrais devices, des applications webs. Ils récupèrent les jeux de donnée définis manuellement au format JSON dans un même fichier. Ils vont, par exemple, effectuer, des appuis, saisir du texte, appuyer sur un bouton de validation puis vérifier la conformité des données dans la bdd sqlite d'un device, capturer et vérifier les données qui passent sur le réseau. Les tests sont exécutés depuis le powershell avec la commande python ou depuis l'IDE PyCharm.


Squashtm possédant une api publique, ma question est la suivante, est-il possible de procéder à l'exécution automatisée selon ce workflow custom :
  • On définit sur squash les tests qui sont automatisés ou non
  • On définit une campagne de tests dédiées aux cas de tests automatisés
  • Depuis l'environnement local, un petit programme python vient vérifier à intervalle régulier les tests automatisés (uniquement si la campagne est déclenchée) avec les requêtes GET qui vont bien
  • Pour chaque référence ou (n° cas de tests), on disposerait d'un tableau d'association avec un script dans un fichier au format JSON
  • Si un cas de tests est détecté, alors le programme principal l'exécute et renvoi vers squash, le status (Success/Blocked) via une requête POST
J'espère avoir décrit suffisamment le scénario de tests automatisés.. il y a sûrement des erreurs ou des choses qui ne sont pas réalisables, mais cela me surprendrait que ça ne soit pas possible. D'ailleurs, je ne serais pas étonné que jenkins, squash-autom etc.., utilisent cette api pour réaliser les tests, remonter les résultats etc. Je me pose cette question de faisabilité, car les architectures proposées me font un peu penser à une machine à gaz. S'il est possible de rester sur squash-tm comme plateforme de tests automatisés et d'exécuter les campagnes automatisées avec le scénario ci-dessus ça me va très bien ;) C'est une architecture légère qui répondrait parfaitement au besoin, et très souple (avec python et l'ensemble des librairies existantes le codage des tests automatisés est simple et robuste, facilement maintenable). Je n'ai pas spécialement envie d'installer et de configurer un jenkins .

D'avance, merci beaucoup

Michel
Johan
Messages : 2
Inscription : jeu. août 03, 2023 5:38 am

Re: Automatisation de tests sans squash-autom via l'api rest

Message par Johan »

Bonjour,

Vous pouvez définir les tests automatisés dans SquashTM, créer une campagne dédiée, et ensuite développer un programme Python pour surveiller les tests et les exécuter en fonction de vos associations de scripts JSON. Cette approche légère et souple semble réalisable et pourrait répondre à vos besoins sans nécessiter l'installation et la configuration de Jenkins.
Ici pour découvrir mon site
Répondre

Revenir à « Support des tests automatisés »