Catégories

Appel de code Javascript

Utiliser du code Javascript dans Agilitest

Charger une fonction avec Javascript

Il est possible de charger toutes les fonctions Javascript disponibles dans une action scripting.

exécuter du code en javascript

Et renvoyer la valeur de la fonction sélectionnée en cochant la case "valeur de retour".

Certaines fonctions nécessitent un ou plusieurs paramètres.

Exemple :

Fonctions HTML

La fonction "AppendChild" requiert 1 paramètre.

Cliquez sur les actions

Il est possible d'exécuter du code Javascript pour les actions de clic de souris.

Pour activer l'option, cliquez sur la case à cocher permettant l'utilisation du code Javascript.

🔸 Attention

Une caractéristique spéciale s'applique aux éléments d'une iFrame.

L'option d'utilisation du code Javascript est automatiquement sélectionnée dès que l'élément se trouve dans une iframe et que l'iframe est sélectionné comme attribut.

Cette option peut être désactivée directement à partir de l'action de la souris.

Ajouter une condition dans une action

Pour ajouter une condition à une action, cliquez avec le bouton droit de la souris sur l'action.

Sélectionner "exécuter la condition"

Cela prend la première variable du script pour définir le code comme résultat lors de l'évaluation de la fonction.

Pour vérifier que la condition est "vraie" :

true == true

Vérifier qu'une valeur a est supérieure ou inférieure à une autre valeur :

$var(...) > 10

Pour vérifier les caractères chaîne de caractère , vous devez ajouter un seul guillemet :

'$var(...)' == '14'

Cela permet à Javascript de faire la différence entre les valeurs numériques et les caractères chaines de caractères.

La condition ne sera exécutée que si le code javascript renvoie "true", sinon elle ne sera pas exécutée.

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.

exemple avec 2 curseurs

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.

actions de glisser-déposer

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).

2 curseurs avec une valeur différente
  • 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,

action java

Les deux curseurs afficheront la même valeur malgré leur différence de taille et de mouvement.

2 curseurs avec la même valeur

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

action java

Cela vous permettra d'afficher les contrôles visuels dans les fichiers ATSV ou les rapports XML produits par Agilitest.

un curseur en vert

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.

variable de retour

Vous avez encore besoin d'aide ?
Contacter le support