Conseils et astuces pour le test d'applications HTML

Cette rubrique fournit des conseils et des astuces pour l'enregistrement et la lecture de scripts de test d'applications HTML.

Commencez l'enregistrement avant de démarrer l'application à tester

Lorsque vous enregistrez un script sur votre application HTML, faites-la démarrer par Functional Tester pendant l'enregistrement. Functional Tester ouvre la page HTML que vous spécifiez dans votre navigateur par défaut ou dans un navigateur spécifique.

Enregistrement d'un survol (hover) dans les menus HTML

Lorsque vous enregistrez un script de test sur une application HTML, vous pouvez inclure une action de survol (hover) d'un menu déroulant dont l'ouverture est déclenchée par le simple passage de la souris. Ce type de menu déroulant est implémenté au moyen de balises DIV. Pour enregistrer une action de survol d'un menu déroulant et déclencher l'ouverture du sous-menu, placez le pointeur sur le texte de l'élément de menu souhaité et appuyez sur la touche Majuscule. Au moment où vous appuyez sur cette touche, veillez à ce que le pointeur se trouve sur le texte de l'élément de menu, et non sur l'espace à droite du texte.

Utilisez la méthode deleteCookies dans vos scripts

Deux versions de la méthode deleteCookies sont disponibles. L'une supprime tous les cookies pour le profil ou l'utilisateur courant, tandis que l'autre supprime les cookies dans un chemin ou un domaine spécifique, pour le profil ou l'utilisateur courant. Pour plus d'informations, voir la partie "Référence des API" de la documentation de Functional Tester (sélectionnez le package com.rational.test.ft.object.interfaces, puis l'interface IBrowserObject).

Evitez d'inclure la sélection d'options de menu du navigateur dans les scripts

Comme les sélections dans les menus du navigateur sont enregistrées d'après leurs coordonnées à l'écran, la lecture des scripts peut manquer de fiabilité si la taille ou la position de la fenêtre du navigateur change entre l'enregistrement et la lecture. De même, les menus sont différents d'un navigateur à un autre, ce qui peut aussi provoquer des problèmes de lecture des scripts.

Assurez-vous que les applets Java à tester sont entièrement visibles durant la lecture des scripts de test

Si vous réduisez le navigateur à une fenêtre n'occupant qu'une partie de l'écran, Functional Tester ne fait pas défiler son contenu pour le caler automatiquement sur l'applet.

Utilisez la méthode loadURL() pour spécifier une URL

La position du champ Adresse d'un navigateur est déterminée par des coordonnées d'écran qui peuvent changer si vous modifiez la taille ou la position de la fenêtre du navigateur. Si, durant l'enregistrement d'un script, vous spécifiez une URL en cliquant dans le champ Adresse et en tapant la nouvelle URL, vous risquez un échec à la lecture du script. Pour spécifier une URL durant l'enregistrement, insérez un clic sur le navigateur (Browser_htmlBrowser) dans votre script :

Utilisation de la propriété .size pour les éléments INPUT

Si vous utilisez la propriété .size pour tester les éléments INPUT et que l'attribut correspondant n'est pas spécifié dans un élément INPUT particulier de l'application, la valeur par défaut renvoyée par Internet Explorer est 20 et celle renvoyée par Netscape est 0 (zéro).

Utilisez les boutons de barre d'outils communs aux deux grandes marques de navigateurs

Si vous prévoyez d'utiliser votre script avec plusieurs types de navigateurs et de plateformes, évitez d'utiliser des boutons de barre d'outils qui ne sont propres qu'à un seul type de navigateur. Les boutons de barre d'outils suivants sont communs aux deux grandes marques de navigateurs (ils sont cités en anglais car c'est ainsi qu'ils sont désignés dans le code ; d'autre part, ils sont traduits différemment dans les versions françaises des deux produits) :

Utilisez le bouton Close (Fermer) pour quitter un navigateur

Le bouton Close (Fermer) est disponible tant dans Internet Explorer que dans Netscape. Lorsque vous enregistrez un script prévu pour plusieurs navigateurs, évitez d'utiliser d'autres techniques pour quitter le navigateur. Par exemple, la combinaison de touches Ctrl+Q (raccourci de la commande Quitter dans la version française) ne fonctionne que dans Netscape ; elle n'existe pas dans Internet Explorer. Si vous utilisez cette combinaison de touches lors de l'enregistrement d'un script avec Netscape, la lecture de ce script échouera avec Internet Explorer.

Utilisez la méthode waitForExistence pour compenser la différence de vitesse de lancement entre les deux marques de navigateurs

Comme Netscape met plus de temps à se lancer qu'Internet Explorer, utilisez la méthode waitForExistence pour attendre l'apparition du navigateur lorsque vous enregistrez un script prévu les deux types de navigateurs. Par exemple :

Evitez les combinaisons de clics et de touches dans les scripts prévus pour plusieurs navigateurs

Pour gérer les menus contextuels, Netscape ignore un clic sur un lien lorsqu'il suit immédiatement un clic avec le bouton droit. Si cette combinaison s'avère nécessaire dans votre script, cliquez avec le bouton droit sur le lien, cliquez sur un espace vide du document, puis cliquez sur le lien. Bien que cette suite d'opérations ne soit requise que dans Netscape, il est bon de l'appliquer aussi dans Internet Explorer.

Dans Netscape, le fait de maintenir la touche Ctrl enfoncée et de cliquer sur un lien ouvre la page correspondante dans une autre instance du navigateur (nouvelle fenêtre). Dans Internet Explorer, cette combinaison revient au même qu'un clic normal. Par conséquent, évitez-la si vous comptez tester votre application avec les deux navigateurs, car le script sera lu différemment dans les deux cas.

Dans Netscape, lorsque vous cliquez avec le bouton droit sur un élément dans une boîte à liste, puis que vous cliquez sur un autre élément (ou le même), ce dernier clic est ignoré. Si cette combinaison s'avère nécessaire dans votre script, cliquez avec le bouton droit sur l'élément, cliquez sur un espace vide du document, puis cliquez sur l'élément dans la liste.

Exécutez un utilitaire approprié pour corriger les erreurs de syntaxe HTML

Des erreurs dans la code HTML peuvent conduire à une interprétation différente de la hiérarchie du modèle DOM HTML suivant le navigateur utilisé. Un script s'exécutant correctement avec un navigateur peut échouer avec un autre. Enregistrez un script avec chaque navigateur et comparez les mappes d'objets de test résultantes. Si les mappes présentent des hiérarchies différentes, exécutez un utilitaire tel que HTML Tidy. Si des erreurs sont signalées, il est possible qu'elles provoquent une interprétation différente du modèle objet, ce qui explique les hiérarchies différentes. HTML Tidy est disponible sur le site du World Wide Web Consortium, www.w3.org.

Gestion des boîtes de message en incrustation

Lors de l'enregistrement d'un script avec Netscape, des boîtes de message peuvent s'afficher en incrustation (boîtes de dialogue propres à l'interface utilisateur du navigateur, à ne pas confondre avec les "pop-ups" générés par les sites consultés). Ce peut être le cas, par exemple, de messages relatifs au chiffrement ou à un changement de domaine de sécurité. Si vous enregistrez votre script en vue de l'utiliser avec différents navigateurs, l'inclusion de ces boîtes de message dans le script est à éviter, car elles n'apparaissent généralement pas dans Internet Explorer. Pour éviter cette situation :

    1. Lorsqu'une boîte de message s'affiche en incrustation, mettez l'enregistrement en pause.

    2. Si la boîte de message comporte une case à cocher permettant d'éviter l'affichage du message à l'avenir, cochez-la.

    3. Cliquez sur Annuler pour fermer la boîte de message.

    4. Reprenez l'enregistrement.

Vous pouvez modifier votre script pour faire face à l'affichage de ce type de boîtes de message, mais cela peut compliquer le code. Pour plus d'informations, consultez la rubrique Sujets avancés de Functional Tester, Java Scripting ou de Functional Tester, VB.NET Scripting.

Lorsque vous enregistrez un script compatible avec différents navigateurs, évitez d'enregistrer les boîtes de message en incrustation. Vous pouvez toutefois les enregistrer si vous ne prévoyez pas d'utiliser votre script pour tester l'application avec plusieurs navigateurs.

Sous Windows, Functional Tester reconnaît les boîtes de dialogue de connexion (Login), de téléchargement de fichier, d'avertissements relatives aux certificats ou à la sécurité, de sélection fichier (ouverture/enregistrement) et d'impression. Ces boîtes de dialogue sont propres à l'interface utilisateur de chaque navigateur et, pour cette raison, elles ne doivent pas être enregistrées dans un script prévu pour le test avec plusieurs marques et versions de navigateurs. Cependant, dans la plupart des cas, la boîte de dialogue de connexion (Login) est utilisable avec différents navigateurs.

Test d'URL sans configurer l'application

Lorsque vous configurez une application en vue de la tester avec Functional Tester, ce dernier ajoute son nom à l'Outil de configuration d'application. Si vous devez tester un grand nombre d'URL différentes, la liste Applications peut devenir très longue. Si vous ne souhaitez pas ajouter une URL à cette liste, vous pouvez la tester en utilisant la commande startBrowser dans un script vide.

  1. Créez un nouveau script Functional Tester vide (sans enregistrer).

  2. Sur une ligne vide, tapez la commande suivante :

  3. url représente ici l'URL de l'application que vous souhaitez tester.

  4. Sauvegardez le script et exécutez-le.

  5. Lorsque la page s'affiche dans le navigateur, cliquez sur le bouton Insérer un enregistrement dans le script Functional Tester actif Bouton Insérer un enregistrement dans le script Functional Tester actif de la barre d'outils de Functional Tester, puis commencez à enregistrer les actions souhaitées sur la page.

Test d'applications MSHTA

Functional Tester permet de tester des applications HTML Microsoft (MSHTA). Avant de tester une telle application, vous devez la configurer en exécutant mshta.exe. Pour configurer chaque application MSHTA que vous comptez tester :

    1. Dans le champ Type de l'Outil de configuration d'application, sélectionnez executable ou batch.

    2. Dans le champ Fichier exécutable, sélectionnez mshta.exe.

    3. Dans le champ Args, entrez le paramètre à passer à l'exécutable. Spécifiez-le sous la forme x.hta, x étant le nom du fichier HTA.

Pour plus d'informations, voir Configuration d'applications en vue de leur test.

Testez vos applications distantes via TestManager

Si TestManager est installé sur votre système, utilisez-le, le cas échéant, pour tester vos applications HTML s'exécutant à distance sur d'autres ordinateurs fonctionnant sous Linux. Pour plus d'informations, voir A propos des ordinateurs local et agent.

Traitement des erreurs liées au plug-in Java

Si vous recevez une erreur relative au plug-in Java lorsque vous testez des applications HTML ou que vous tentez de démarrer le Comparateur de point de vérification en cliquant sur le lien Afficher les résultats dans le journal HTML, vérifiez que le plug-in Java de votre navigateur est configuré correctement. Pour les instructions à suivre, consultez la rubrique Activation du plug-in Java d'un navigateur.

Remarque à propos de l'intégration avec TestManager

Functional Tester est intégré avec Rational TestManager version 2003.06.13. Si vous avez cette version de TestManager, vous pourrez utiliser les fonctions intégrées de Functional Tester et TestManager. Consultez la rubrique Intégration entre Functional Tester et les autres produits Rational, car elle contient des informations clés sur l'utilisation des produits ensemble.

Conditions d'utilisation | Appréciations en retour
(C) Copyright IBM Corporation 2002, 2004. All Rights Reserved.