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