sikuli logo
Auteur: Xavier Renaudin

Dans un projet, la période la plus stressante est en général la mise en production et un des problèmes qui se pose de façon récurrente est la validation de la non-régression.
Une des solutions qui s’impose intuitivement est la mise en place de tests automatisés mais celle ci peut coûter cher et parfois les outils utilisés ne conviennent pas.
Et bien pour tous les cas où l’automatisation semble être impossible, il existe un petit logiciel gratuit du nom de Sikuli qui permet d’automatiser le non-automatisable.

Kesako Sikuli ?
Sikuli est un outil gratuit et open-source qui permet de scripter des actions utilisateurs en se basant sur la reconnaissance d’image à partir de copies d’écran. Il utilise des scripts en Jython (fils caché du Java et du Python) et est fourni avec un IDE qui facilite l’édition des scripts et la capture des copies d’écran.
Pour avoir des idées de possibles utilisations vous pouvez aller voir les exemples sur le blog de Sikuli ou simplement taper Sikuli sous YouTube.
Dans ce post, je vais plutôt expliquer comment j’ai tenté d’intégrer Sikuli dans un contexte un minimum industrialisé.

Pour quoi ?
Sikuli peut répondre à plusieurs cas de figure :
Automatiser des scénarios pour une application
Automatiser les interactions entre plusieurs applications (même des applications tierces)
Automatiser le lancement et la vérification de tests automatisés
Pour qui ?
Même si l’écriture de script peut être très simple, dès lors que l’on veut faire des choses un petit peu sérieuses, des connaissances en programmation vont être requises. Il manque clairement un générateur de code si on voulait pouvoir le mettre entre toutes les mains, mais avec un minimum de bonne volonté, on peut s’en sortir sans trop de galère.

Le site de Sikuli