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 :
L'enregistrement étant en cours, cliquez sur un espace vide de l'en-tête du navigateur pour inclure un clic sur le navigateur dans votre mappe d'objets de test.
Une fois l'enregistrement terminé, affichez le code du script dans l'éditeur prévu à cet effet et placez le curseur sur une ligne vide.
Dans l'Explorateur de script, développez la
branche Objets de test, cliquez avec le bouton droit sur Browser_htmlBrowser
et sélectionnez Insérer au niveau du curseur.
Sélectionnez la méthode loadURL(String)
.
Tapez le nom de la nouvelle URL entre les parenthèses de l'instruction loadURL
.
Terminez la ligne d'instruction par un point-virgule (;), mais uniquement si vous scriptez en Java (et non en VB.NET).
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) :
Back
Bookmarks (Netscape)/Favorites (Internet Explorer)
Close (Fermer)
Forward
Home
Maximize (Agrandir)
Minimize (Réduire)
Search (bouton uniquement)
Stop
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 :
L'enregistrement étant commencé, démarrez l'application.
Dans la barre d'outils Enregistrement de Functional Tester, cliquez
sur le bouton Insérer un point de vérification ou une commande d'action .
Sur la page Sélection d'un objet de
l'Assistant Points de vérification et actions, cliquez sur
l'icône Sélecteur d'objet et faites-la glisser pour l'amener sur la page HTML (et non sur le navigateur lui-même).
Cliquez sur Suivant.
Sur la page Sélection d'une action de l'Assistant Points de vérification et actions, choisissez l'option Attendre l'objet de test sélectionné.
Si nécessaire, désélectionnez la case Utiliser les valeurs par défaut pour changer les valeurs des paramètres Durée d'attente maximale et Intervalle entre les vérifications, qui sont respectivement de 2 minutes et de 2 secondes.
Cliquez sur Terminer.
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 :
Lorsqu'une boîte de message s'affiche en incrustation, mettez l'enregistrement en pause.
Si la boîte de message comporte une case à cocher permettant d'éviter l'affichage du message à l'avenir, cochez-la.
Cliquez sur Annuler pour fermer la boîte de message.
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.
Créez un nouveau script Functional Tester vide (sans enregistrer).
Sur une ligne vide, tapez la commande suivante :
startBrowser ("url");
url
représente ici l'URL de l'application que vous souhaitez
tester.
Sauvegardez le script et exécutez-le.
Lorsque la page s'affiche dans le navigateur, cliquez sur
le 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 :
Dans le champ Type de l'Outil de configuration d'application, sélectionnez executable ou batch.
Dans le champ Fichier exécutable, sélectionnez mshta.exe.
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.