Cas pratique d'un script d'appel Javascript
Agilitest vous permet d'appeler du code javascript sur un composant qui a été capturé.
Cela diffère d'un appel java qui s'apparente davantage à un appel de sous-script.
Dans les deux cas, il est possible de modifier les éléments du logiciel que l'on teste, et donc de se détacher de l'opération que l'on est censé contrôler.
Dans certains cas, c'est très pratique, voire nécessaire :
Exemple :
Jetons un coup d'œil au curseur.
L'image suivante montre deux curseurs de tailles différentes, chacun ayant une valeur initiale de 50.
Lors de la manipulation d'un curseur, il est assez complexe de définir une valeur précise en utilisant uniquement les actions de déplacement de la souris.
Par exemple, si nous indiquons un glissement de 100 pixels vers la droite sur les deux curseurs, nous pourrons déplacer le curseur vers la droite.
Ceux-ci n'afficheront pas la même valeur, car ils n'ont pas la même configuration. (Valeur 67 pour le grand et 84 pour le petit).
- Quel est le problème ?
Si vous effectuez un test basé sur un déplacement de 100 pixels et que la valeur du curseur devient critique pour la réussite de votre test, vous devenez dépendant de l'implémentation du curseur.
Dans ce cas, Javascript est particulièrement adapté, car il permet de fixer une valeur directement sur l'élément du curseur en modifiant la valeur de sa variable interne.
Exemple :
Si vous définissez une valeur de 90 sur les deux curseurs,
Les deux curseurs afficheront la même valeur malgré leur différence de taille et de mouvement.
Contrôle visuel
Vous pouvez modifier le style et donc la couleur des éléments que vous testez.
Pour ce faire, il suffit de modifier l'objet style :
style.backgroundColor="vert
Cela vous permettra d'afficher les contrôles visuels dans les fichiers ATSV ou les rapports XML produits par Agilitest.
Un contrôle complexe intégré à la page
Dans certains cas où vous devez effectuer un contrôle complexe sur votre page, il est tout à fait possible de coder ce contrôle dans un code javascript chargé dans la page, puis d'appeler la fonction javascript dans votre test, en récupérant la valeur renvoyée pour effectuer un contrôle simple.
Il ne s'agit pas d'une situation optimale, car vous devrez peut-être gérer le code de développement incluant cette fonction et le code de production avec les risques qu'elle peut entraîner, mais cela peut conduire à des situations complexes à gérer.
Pour ce faire, il suffit de déclarer une fonction globale dans une balise SCRIPT de votre page :
<SCRIPT>function checkpage() { ....operations... if (condition) { return true; } else { return false; }}</SCRIPT>
Il suffit ensuite de l'appeler depuis votre éditeur Agilitest, en référençant une variable de retour, sur laquelle vous n'aurez plus qu'à effectuer un contrôle de valeur.