Astuce de Scripting

Transcription

Astuce de Scripting
Astuce de Scripting
Les temps de réponses sont parmi les métriques les plus importantes remontées des robots Newtest.
Nous détaillons dans cet article des astuces pour les rendre les plus invariants possibles dans les cas
spécifiques de temporisations imposées par l’utilisateur et de gestion d’étapes intermédiaires dont
on veut exclure les temps de traitement dans la mesure.
Comment imposer une temporisation sans impact sur mes temps de réponses ?
Les robots Newtest se rapprochent du comportement des utilisateurs standards de par leur capacité
à temporiser chacune des actions exécutées dans le scénario lorsque nécessaire. De plus, négliger les
temps d’attente utilisateur peut engendrer des problèmes dans la navigation globale du scénario
telle qu’une perte de focus sur une fenêtre ou la perte de caractères dans le flux clavier.
La fonction « Wait(N) » (avec N>0) permet d’introduire une temporisation de N secondes entre 2
étapes. Cette fonction accepte également un nombre de secondes négatif qui signifie que le nombre
de secondes spécifiées avec le signe « - » en paramètre de la fonction est décompté de tout
chronomètre incluant cette fonction.
Nous illustrons ce concept dans la figure 1 avec 2 chronomètres imbriqués, chrono1 et chrono2, qui
retournent une mesure identique (modulo les temps de traitements inhérents aux fonctions
intermédiaires) malgré l’attente réelle de 2 secondes à l’ETAPE 2.
Figure 1 : chrono1 et chrono2 sont identiques
Siège social : 90 Boulevard National - 92250 La Garenne-Colombes – France
Tel.: (+33) 1 77 49 53 00 - Fax: (+33) 1 49 64 03 80 - www.ip-label.com
SAS au capital de 549.728 euros - RCS Nanterre B 327 139 309 - [email protected]
1 /4
Comment déduire de mon temps de réponse un temps de traitement intermédiaire ?
Au delà d’imposer des temporisations de type Wait(-N) (avec N >0) non prise en compte dans les
temps de réponse, nous sommes parfois confrontés à des cas clients plus complexes.
En effet, il est parfois nécessaire de gérer un traitement intermédiaire dans le temps de réponse
(apparition d’une pop-up...), qui est généralement la résultante d’une action non planifiée (Ex :
ouverture de l’application en mode « sans Echec ») ou non répétée (Ex : apparition d’une fenêtre
spécifiant que vous n’avez plus de licence pour vous connecter à l’application).
Pour contourner ce problème, nous utilisons la conversion de type des chronomètres de
ORDER(TRESP) au format INT par les fonctions LogTpsInt et LogIntToTps afin d’effectuer des
opérations arithmétiques simples avant conversion inverse.
Dans le cas pratique suivant, nous simulons l’apparition d’une pop-up avec un temps de traitement
de 5 secondes sachant que l’accès à l’application est de 2 secondes en moyenne.
Vous constaterez avec les figures 2 et figure 3 que les temps recalculés de connexions à l’application
restent inchangés, que la pop-up apparaisse ou pas.
Siège social : 90 Boulevard National - 92250 La Garenne-Colombes – France
Tel.: (+33) 1 77 49 53 00 - Fax: (+33) 1 49 64 03 80 - www.ip-label.com
SAS au capital de 549.728 euros - RCS Nanterre B 327 139 309 - [email protected]
2 /4
Figure 2 : La pop-up apparait (variable PopingUp est positionnée à TRUE)
Siège social : 90 Boulevard National - 92250 La Garenne-Colombes – France
Tel.: (+33) 1 77 49 53 00 - Fax: (+33) 1 49 64 03 80 - www.ip-label.com
SAS au capital de 549.728 euros - RCS Nanterre B 327 139 309 - [email protected]
3 /4
Figure 3 : La pop-up n’apparait pas (variable PopingUp est positionnée à FALSE)
A noter également que la conversion de temps de réponse en type entier est en centième de
seconde (troncature des millièmes de secondes) alors que la conversion de type entier en temps de
réponse est en millième de seconde, d’où la multiplication par 10 à la fin du script.
Siège social : 90 Boulevard National - 92250 La Garenne-Colombes – France
Tel.: (+33) 1 77 49 53 00 - Fax: (+33) 1 49 64 03 80 - www.ip-label.com
SAS au capital de 549.728 euros - RCS Nanterre B 327 139 309 - [email protected]
4 /4