Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Kasaya : un langage de script "WYSIWYG" et un runtime pour l'automatisation des navigateurs
Basé sur JARVIS, il fonctionnerait de manière simple et standard, selon ses développeurs

Le , par Bill Fassinou

25PARTAGES

6  0 
Kasaya est un langage de script "WYSIWYG", mais aussi un runtime pour l'automatisation du navigateur. Kasaya a été conçu et développé par des développeurs de Sysco LABS, une société numérique spécialisée dans la distribution de produits alimentaires et basée au Sri Lanka. Actuellement, le langage est dans une version bêta publique, ce qui signifie que si tous les éléments de base fonctionnent, il reste encore beaucoup à faire avant de pouvoir passer à la version 1.0.

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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de walfrat
Membre éclairé https://www.developpez.com
Le 21/02/2020 à 16:05
Si l'outil est fait pour rendre plus productif les tâches moins complexes, pourquoi pas, par contre, est-ce vraiment fait pour les développeurs ?

Perso ne me demandez pas de faire ça toute la journée pendant des plombes, les trucs simples, ça me barbe rapidement, et je pense que ce sera le cas pour beaucoup de développeur.

Pour moi j'y verrais plutôt une opportunité de rendre le travail de personne à la validation plus intéressant en simplifiant la saisie et l'automatisation des scénarios simples sans avoir besoin de connaissance techniques, afin qu'ils puissent se concentrer sur les cas plus complexes.
1  0 
Avatar de L33tige
Membre éclairé https://www.developpez.com
Le 21/02/2020 à 16:13
ils utilisent une DSL (Domain Specific Language) au lieu d'un langage existant
Peut-être mais avec Selenium IDE on peut exporter en pleins de formats différents dont des class java, ce qui permets à des personnes de services extérieurs de produire des tests et de les intégrer dans les tests de projets, par exemple pour que Jenkins les utilisent.
0  0 
Avatar de CoderInTheDark
Membre chevronné https://www.developpez.com
Le 15/03/2020 à 19:27
Ca peut m'intéresser pour faire des tests d'accessibilités de page web.
Je voulais le faire avec Selenium.
Et si ça peut me simplifier la vie
Mais je voudrai pouvoir modifier les scripts générés

Une idée de scénario :

Remplir le formulaire

- aller au titrre de niveau ou à la zone principale
- aller au champs ...
...
- valider le formulaire

En général les robots ont les mêmes besoins que nous et nos lecteurs d'écran.
0  0