Conseils et astuces pour les tests fonctionnels 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.

Utilisation de la méthode deleteCookies dans les 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 section "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 des options de menu 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 incidents de lecture des scripts.

Assurez-vous que l'applet Java à tester est en mode plein écran pendant la lecture du script 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 changer d'URL

La position de la zone 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 la zone Adresse et en tapant la nouvelle URL, vous risquez un échec à la lecture du script. Pour changer d'URL durant l'enregistrement, insérez un clic sur le navigateur (Browser_htmlBrowser) dans votre script .

  1. 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.
  2. 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.
  3. Dans l'Explorateur de script, développez la branche Objets de test, cliquez à l'aide du bouton droit sur Icône Browser_htmlBrowser Browser_htmlBrowser et sélectionnez Insérer au niveau du curseur.
  4. Sélectionnez la méthode loadURL(String).
  5. Tapez le nom de la nouvelle URL entre les parenthèses de l'instruction loadURL.
  6. 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.

Utilisation de boutons de barre d'outils communs à plusieurs 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 Fermer est disponible dans Internet Explorer. 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 Alt+F+C ne fonctionne que 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.

Vérifiez l'état prêt (.readystate) de l'objet navigateur

La lecture du script de test des applications HTML échoue si l'état prêt de l'objet navigateur ne correspond pas à 4. Vérifiez que l'état du navigateur est 4 pendant la lecture d'un script. Vous pouvez effectuer cette opération en modifiant le script de test manuellement, comme indiqué dans les exemples.

Script pour vérifier l'état du navigateur dans Java™ : logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());

Script pour vérifier l'état du navigateur dans .Net : LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)

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

Utilisez une méthode waitForExistence pour attendre l'apparition du navigateur lorsque vous enregistrez un script prévu pour les deux types de navigateurs. Par exemple :

  1. L'enregistrement étant commencé, démarrez l'application.
  2. Cliquez sur le bouton Insérer un point de vérification ou une commande d'action Bouton Insérer un point de vérification ou une commande d'action de la barre d'outils Enregistrement.
  3. Dans 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 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).
  4. Cliquez sur Suivant.
  5. Dans 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é.
  6. 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.
  7. 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, certains navigateurs ignorent un clic sur un lien lorsqu'il suit immédiatement un clic à l'aide du bouton droit. Si cette combinaison s'avère nécessaire dans votre script, cliquez à l'aide du bouton droit sur le lien, cliquez sur un espace vide du document, puis cliquez sur le lien.

Dans certains navigateurs, 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). Cette combinaison revient au même qu'un clic normal dans d'autres navigateurs. 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.

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 messages en incrustation

Lors de l'enregistrement d'un script avec certains navigateurs, un message peut s'afficher en incrustation (boîtes de dialogue propres à l'interface utilisateur du navigateur), par exemple un message relatif au chiffrement. 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 peuvent ne pas apparaître dans d'autres navigateurs. 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, voir la rubrique Extension des fonctionnalités de Functional Tester.

Lorsque vous enregistrez un script compatible avec différents navigateurs (un script compatible entre tous les navigateurs pris en charge par Functional Tester), é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, de téléchargement de fichier, d'avertissements relatives aux certificats ou à la sécurité, de sélection de 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 script de test fonctionnel vide (sans enregistrer).
  2. Sur une ligne vide, tapez la commande suivante :

    startBrowser ("url");

  3. Sauvegardez le script et exécutez-le.
  4. 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 dans la page.

Test d'applications MSHTA

Functional Tester prend en charge les tests d'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 la zone Type de l'Outil de configuration d'application, sélectionnez executable ou batch.
  2. Dans la zone Fichier exécutable, sélectionnez mshta.exe.
  3. Dans la zone Args, transmettez le paramètre x.hta à l'exécutable, x correspondant au nom du fichier HTA.

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

Testez des applications éloignées via TestManager

Si TestManager est installé sur votre système, utilisez-le pour tester des applications HTML à distance sur d'autres ordinateurs Linux. Pour plus d'informations, reportez-vous à la rubrique sur l'ordinateur local et l'ordinateur de l'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 connaître les instructions à suivre, reportez-vous à la rubrique relative à l'activation du plug-in Java d'un navigateur.

Remarque sur l'intégration de TestManager : Functional Tester est intégré à Rational TestManager version 7.0.2. Si vous disposez de la version 7.0.2 de TestManager, vous pourrez utiliser les fonctions intégrées de Functional Tester et de TestManager.


Retour d'informations