Selon ses développeurs, l'idée derrière le développement de Kasaya est la suivante : si l’on est capable de demander verbalement à un être humain de faire un test d'IU sans se référer à des éléments DOM, XPATH ou HTML ID, il devrait être capable de faire la même chose avec une machine. Toutefois, ils estiment que contrairement à certains outils d'automatisation de tests en langage naturel, il n'est pas nécessaire d'écrire des fonctions pour aider à résoudre les instructions aux ID HTML ou aux XPATH. Kasaya fonctionnerait de manière simple et standard.
Par ailleurs, Kasaya n’est pas basé sur l’apprentissage automatique. Il utilise des heuristiques intelligentes, mais simples qui tentent d'imiter la façon dont les humains regardent un écran pour identifier les éléments visuels. La grammaire de Kasaya est basée sur JARVIS, une autre interface verbale rudimentaire de langage naturel basé sur la correspondance de modèles. Il est destiné à l'automatisation des tests, mais actuellement, il lui manque certaines caractéristiques de base d'un langage de programmation, telles que les conditionnels et les boucles.
Selon ses auteurs, les déclarations de Kasaya sont constituées de phrases au lieu de mots clés et de fonctions. Les phrases peuvent être soit intégrées, soit basées sur des macros. Les arguments peuvent être placés n'importe où dans la phrase. Si vous utilisez Visual Studio Code, Kasaya a une extension pour l’éditeur. Voici les caractéristiques les plus mises en avant de Kasaya :
- rédigez des scripts de test en utilisant des énoncés de type anglais ;
- mise en œuvre des instructions sans avoir besoin de coder ;
- ne dépend pas des ID HTML ou des XPaths ;
- écrivez de la même manière que vous le faites pour un autre être humain assis devant le navigateur ;
- différent de Cucumber ;
- différent de Selenium IDE ;
- vous pouvez faire votre test de développement initial en mode REPL ;
- vous pouvez sauvegarder les déclarations sous forme de script.
Cependant, l’idée de Kasaya ne rend pas tout le monde enthousiaste. Certains pensent que ce sera juste un nouvel outil de plus sur la liste des outils d’optimisation de tests. Selon ces derniers, la plupart de ces outils partagent le même défaut : ils utilisent une DSL (Domain Specific Language) au lieu d'un langage existant. Cela fait en sorte que les outils, les documentations, les tests, les supports et les modules vont être très faibles, et dépendront à 100 % du créateur pendant les premières années, dans un domaine qui est déjà une niche.
En outre, ils trouvent que la simplicité de Kasaya finira par limiter son utilité. Tous les domaines ne sont pas comme SQL/HTML/CSS, où la description suffit. Ils estiment que les domaines complexes ont besoin de branches, de boucles, d'espaces de noms, etc. Lorsque ces cas arrivent, ils seront obligés d'ajouter des fonctionnalités de manière tordue à quelque chose qui n'a pas été conçu pour cela et de remplacer sa simplicité par de la laideur. Sinon, ils peuvent le restreindre et être limités à jamais. Ils ont cité Ansible DSL comme un parfait exemple de ce qu’ils disent.
Par contre, d’autres personnes estiment que Kasaya et beaucoup d'autres outils n’ont pas été introduits pour les cas d’utilisation complexes cités précédemment. Selon eux, malgré tous les problèmes qu’ont les DSL, ils simplifient la logique de programmation complexe, et les développeurs les utilisent tous les jours pour faire de grandes choses. D’après eux, les DSL comme Ansible et Chef font gagner aux utilisateurs du temps pour le provisionnement des serveurs, d'où leur popularité.
Source : Kasaya
Et vous ?
Qu'en pensez-vous ?
Voir aussi
Microsoft dévoile une nouvelle feuille de route plus précise pour son navigateur Web Edge, laissant entrevoir la disponibilité prochaine de Edge sur Linux
La première version stable d'Edge basé sur Chromium est disponible avec le mode Internet Explorer, le support AAD, le streaming 4K et des performances accrues, mais beaucoup reste encore à faire
C'est officiel, Microsoft Edge sera désormais basé sur Chromium et enfin disponible sur Windows 7, Windows 8 et d'autres plateformes comme macOS