Identification et résolution des incidents liés aux tests fonctionnels

La présente rubrique contient des informations permettent d'identifier et de résoudre les incidents pouvant survenir lors des tests fonctionnels.
Tableau 1.
Incident Description Solution

Des exceptions ObjectNotFoundException surviennent lors de l'insertion d'un point de vérification sur des contrôles ErrorProvider, HelpProvider et ToolTipText dans .Net.

Cet incident se produit si vous créez un point de vérification de données sur des contrôles ErrorProvider, HelpProvider et ToolTipText pendant l'enregistrement d'un script dans .Net.

Dans .NET, créez des points de vérification de propriétés sur ces contrôles.

Une exception System.NullReferenceException est émise lors de la lecture d'un script géré par données contenant des contrôles Calendar dans des applications SAP.

Vous avez peut-être fermé le contrôle Calendar après l'enregistrement d'un script géré par données. Dans ce cas, un événement close() est généré dans le script. Le script sera similaire à l'exemple suivant :

calendar_sapCalendarControl1().setDate(dpString("SAPCalendarControl1")); dialog_calendar().close();

Etant donné que la méthode setDate() définit la date sélectionnée et ferme le contrôle Calendar, le script échoue pendant la lecture, lorsqu'il tente de fermer le contrôle Calendar.

Effectuez l'une des tâches suivantes :
  • Supprimez la méthode close du calendrier qui a été générée dans le script.
  • Fermez le contrôle Calendar avant de quitter l'assistant "Insertion d'actions pilotées par données".

La lecture échoue lors de la vérification des données sur des contrôles tels que text, ComboBox ou Tree dans des applications SAP.

Cet incident survient si la méthode du point de vérification est enregistrée avant les méthodes telles que set pour une zone de texte ou de liste ou ExpandNode/doubleClickNode pour un contrôle d'arborescence.

Effectuez l'une des tâches suivantes :
  • Appuyez sur la touche Entrée ou F2 après avoir tapé/sélectionné la valeur dans la zone de texte ou de liste ou développez un noeud du contrôle d'arborescence puis appelez l'assistant de point de vérification de données.
  • Coupez et collez ces méthodes avant d'exécuter la vérification des données sur le contrôle text/combo box/tree dans le script.

Le message d'erreur suivant s'affiche lorsque vous créez un projet de test fonctionnel dans .Net :

"Echec de l'activation de l'intégration ClearCase. Les entrées de registre pour le fournisseur de contrôle du code source installé manquent. Configurez le fournisseur de contrôle du code source correctement."

Ce message s'affiche si les paramètres du registre pour ClearCase sont endommagés.

Vous devez corriger les paramètres du registre manuellement. Pour plus d'informations sur le changement du fournisseur du contrôle des sources ou sur la modification des paramètres du registre, consultez l'aide MSDN.

IBM® Rational Functional Tester ne reconnaît pas les contrôles Siebel 7.7 lorsque vous revenez à Siebel 7.7 après avoir installé Siebel 7.8.

Lorsque vous lancez Siebel 7.8, Internet Explorer installe les derniers objets ActiveX Siebel disponibles. Si vous tentez ensuite d'enregistrer un script sur Siebel 7.7 en utilisant Functional Tester, Functional Tester ne parvient pas à reconnaître les contrôles Siebel 7.7.

Supprimez les objets Activex Siebel du dossier C:\WINDOWS\Downloaded Program Files, puis essayez d'utiliser l'application Siebel 7.7.

Une application testée (AUT) Java™ ne s'ouvre pas lorsque vous la configurez en vue de son test dans Rational Functional Tester.

L'application testée (AUT) ne s'ouvre pas lorsque vous la configurez en vue de son test si vous indiquez une version d'environnement JRE antérieure à la version utilisée pour compiler l'application de test.

  • Utilisez une version de l'environnement IDE ultérieure et prise en charge par Functional Tester pour tester l'application.
  • Recompilez l'application de test en définissant les niveaux source et cible du JRE dans votre environnement de développement intégré Java.

    Voici un exemple permettant de compiler l'application de test en définissant les options source et cible à l'aide de l'interface de ligne de commande :

    C:\AUT\Test>"C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" -source 1.4 -target 1.4 *.java

La lecture échoue lorsque vous testez des applications SAP incluant des zones pour les mots de passe.

Rational Functional Tester enregistre le mot de passe entré tel qu'il apparaît dans la zone du mot de passe et ne peut pas lire la valeur chiffrée.

Avant de lire le script, remplacez le mot de passe enregistré par le mot de passe réel dans le script.

L'aide contextuelle d'IBM Rational Functional Tester ne fonctionne pas dans l'environnement de développement intégré VS .Net.

 

Installez la bibliothèque MSDN. Pendant l'installation, sélectionnez les options permettant d'intégrer la bibliothèque MSDN à l'environnement IDE VS .Net pour assurer le bon fonctionnement de l'aide contextuelle de Functional Tester.

L'ordinateur se bloque lorsque vous tentez d'ouvrir un fichier PDF à partir de la galerie des tutoriels.

Si vous utilisez Adobe® Reader 6.0.0, l'ouverture d'un fichier PDF à partir de la galerie des tutoriels risque de bloquer votre système.

Les autres versions du logiciel Adobe Reader ne génère pas cet incident. Des mises à niveau gratuites du logiciel Adobe Reader sont disponibles sur le site Adobe.

L'aide aux utilisateurs multimédia ne s'affiche pas.

Les aides aux utilisateurs multimédia, telles que les visites guidées, les tutoriels et les démonstrations requièrent l'installation de Flash Player sur votre ordinateur.

Installez Flash Player version 6.0 ou ultérieure à partir du site Web Adobe.

Désactivation du support de lecture dans Eclipse lorsque les vues et les éditeurs sont déplacés ou détachés après l'enregistrement.

 

Ajoutez l'instruction rational.test.ft.enable_eclipse_support=false dans le fichier ivory.properties.

Les scripts enregistrés dans un navigateur particulier échouent lorsqu'ils sont lus dans un navigateur différent.

Un script enregistré dans Internet Explorer, par exemple, peut échouer s'il est lu dans Mozilla Firefox.

Inspectez la structure DOM des objets dans les navigateurs. Par exemple, vous pouvez utiliser DomInspector pour Mozilla Firefox. De même, vous pouvez interpréter la structure DOM pour d'autres navigateurs. Vous pouvez ensuite procéder à une comparaison et vérifier si la hiérarchie des objets est identique.

  • Si les hiérarchies DOM des navigateurs ne sont pas les mêmes, l'incident n'est pas lié à Rational Tester. Les navigateurs créent des hiérarchies DOM différentes ce qui entraîne l'échec de la lecture.

    Solution provisoire : Vous pouvez remédier à cette erreur en ajoutant la hiérarchie manquante que Functional Tester recherche lors de la lecture du script.

  • Si les hiérarchies DOM des navigateurs sont les mêmes, l'incident est peut-être lié à Functional Tester. Prenez contact avec le service de support logiciel IBM des produits Rational pour un examen approfondi de l'incident.

L'enregistrement et la lecture ne fonctionnent pas pour les options de menu du navigateur.

Rational Functional Tester prend en charge le test du contenu du navigateur mais pas les interactions avec les options de menu du navigateur ou le navigateur lui-même. Cette limitation existe pour que les scripts puissent être enregistrés et lus sur des navigateurs différents pour le test d'applications HTML.

Capturez l'objet de navigateur et utilisez la méthode inputKeys pour interagir avec les options de menu à l'aide des raccourcis-clavier pour les options de menu spécifiques.

Par exemple, vous pouvez accéder à l'option Fermer du menu Fichier à l'aide du raccourci-clavier Maj+F+C. Pour accéder à cette option, vous pouvez ensuite utiliser la méthode inputKeys sur l'objet de navigateur et indiquer le raccourci-clavier ("%fc") comme paramètre d'entrée, conformément à l'exemple suivant :

Browser_HtmlBrowser(Document_HtmlDocument(),DEFAULT_FLAGS).InputKeys("%fc")

Erreur SAP interne (ABAP) lors de l'enregistrement

Lors de l'enregistrement sur des applications SAP, la structure de scriptage SAP émet en interne certaines erreurs ABAP et l'enregistrement s'arrête. Cet incident ne sera pas corrigé tant que l'équipe de développement SAP ne le corrigera pas dans sa structure de scriptage.

Désactivez l'aide de la recherche modale sur le système pour l'utilisateur exécutant le script dans la boîte de dialogue Préférences de SAP GUI, que vous pouvez ouvrir à partir du menu d'aide. Si cette solution ne fonctionne pas, il se peut que vous deviez redémarrer votre application SAP.

Une exception System.NullReferenceException est émise lors de la lecture d'un script géré par données contenant des contrôles calendar dans des applications SAP.

Vous avez peut-être fermé le contrôle Calendar après l'enregistrement d'un script géré par données. Un événement close() est donc généré dans le script.

Le script ressemble à : dialog_calendar().close();

Etant donné que la méthode setDate() définit la date sélectionnée et ferme le contrôle Calendar, le script échoue pendant la lecture, lorsqu'il tente de fermer le contrôle Calendar.

Supprimez la méthode close du calendrier qui a été générée dans le script.

Sous Linux®, l'appel des commandes de l'API RationalTestScript à partir de plusieurs unités d'exécution génère des erreurs asynchrones.

Lorsque deux unités d'exécution d'un processus soumettent X requêtes simultanément, les X bibliothèques ne peuvent pas gérer les requêtes car elles n'autorisent pas les unités d'exécution multiples. Des erreurs asynchrones sont générées avec des messages signalant une réponse asynchrone inattendue ou un événement perdu. Cet incident peut également se produire lorsque plusieurs unités d'exécution sont utilisées dans des scripts RFT .

Dans le fichier ivory.properties, associez l'option rational.test.ft.script.playback.mouse.allow_multiple_threads à la valeur "true."

Incidents liés au codage lors de l'importation de fichiers sous Linux.

Sous Linux, en raison de formats de codage non compatibles, il se peut que Functional Tester ne reconnaisse pas ni ne puisse lire les fichiers importés. Dans Functional Tester, le codage par défaut est UTF-8. Toutefois, UTF-8 ne gère pas certains formats de codage tels Cp1252.

Sous Linux, définissez pour les fichiers le format de codage ISO-8859-1 :
  1. Sélectionnez le projet importé ou le projet dans lequel vous importez les fichiers dans le panneau Projets Functional Tester.
  2. Sélectionnez Projet > Propriétés.
  3. Dans la fenêtre Propriétés, sélectionnez Info dans la liste.
  4. Dans la zone de codage du fichier texte, cliquez sur Autre.
  5. Sélectionnez ISO-8859-1 dans la liste déroulante.
  6. Cliquez sur OK.

Impossible de lire les scripts .Net stockés sur le réseau.

Le projet qui se trouve sur le réseau n'est peut-être pas associé aux droits Full Trust (confiance totale) sur l'ordinateur local en raison de la stratégie de sécurité. Un message RuntimeSecurityPolicyException s'affiche dans le journal de lecture ou dans le journal de débogage RFT.

Effectuez les opérations suivantes :
  • Associez le niveau de sécurité pour la zone Intranet local à Full Trust (confiance totale). Pour ce faire :
    1. Sélectionnez Panneau de configuration > Outils d'administration et ouvrez Microsoft® .NET Framework Configuration.
    2. Sélectionnez Configure Code Access Security Policy et cliquez sur Adjust Zone Security.
    3. Sélectionnez Local Intranet dans Security Adjustment Wizard et associez le niveau de confiance à Full Trust.
Si ce message continue d'apparaître, effectuez les opérations suivantes :
  • Spécifiez le nom de l'ordinateur au lieu de l'adresse IP comme chemin d'accès au projet.
  • Configurez les éléments suivants dans Internet Explorer :
    1. Sélectionnez Outils > Options Internet dans la fenêtre Internet Explorer.
    2. Dans l'onglet Sécurité, sélectionnez Intranet local.
    3. Cliquez sur Sites.
    4. Dans la boîte de dialogue Intranet local, cliquez sur Avancé.
    5. Désélectionnez Nécessite un serveur sécurisé (https:) pour tous les sites dans cette zone.
    6. Spécifiez le chemin d'accès au projet et cliquez sur Ajouter.
    7. Cliquez sur OK.

L'exécution de scripts avec l'agent Test Manager sous Linux génère une erreur.

Si vous démarrez le démon de Test Manager Agent 7.0 sur une machine Linux et exécutez les scripts via Test Manager sur une machine Windows®, certaines erreurs peuvent survenir.

Sur la machine Linux, effectuez les opérations suivantes :
  1. Définissez la variable d'environnement LD_LIBRARY_PATH to libjava.so de l'environnement d'exécution Java (JRE) utilisé.
  2. Associez la variable CLASSPATH à la valeur /bin/rational_ft.jar
  3. Exécutez la commande source rtsetup.
  4. A partir du répertoire d'installation Test Manager, exécutez le script RTsagt.
Remarque : Vous ne pouvez pas utiliser les agents Test Manager sur les plateformes SUSE Linux Enterprise Server 10.0 et SUSE Linux Enterprise Desktop 10.0.

Une erreur de compilation se produit lors du partage d'un projet de test fonctionnel avec ClearCase.

Par défaut, ClearCase ne distingue pas les minuscules des majuscules. Si un nom de fichier contient des majuscules, ClearCase les convertit en minuscules. Il en va de même lorsque vous enregistrez un nouveau script dans un projet existant situé dans ClearCase.

Modifiez les paramètres de ClearCase afin de conserver la distinction minuscules/majuscules :
  1. Sélectionnez Démarrer > Panneau de configuration > ClearCase pour ouvrir la fenêtre des propriétés ClearCase.
  2. Dans l'onglet MVFS, sélectionnez la case à cocher Préserver la casse.
  3. Arrêtez et redémarrez ClearCase.
  4. Partagez le projet de test fonctionnel à nouveau.

L'intégration de ClearCase sous Linux ne fonctionne pas si ClearCase n'est pas installé dans le répertoire /opt/rational.

 

Pour pouvoir utiliser ClearCase avec Linux, vous devez installer ClearCase dans le répertoire /opt/rational ou /usr/atria ou associez la variable CLEARCASEHOME ou ATRIAHOME au répertoire d'installation de ClearCase.

Impossible de résoudre le regroupement de ressources

Si Flex Builder 2 est utilisé pour générer une application Flex avec l'adaptateur Rational Functional Tester, une erreur peut survenir lors du regroupement des ressources.

Copiez automation_agent_rb.swc du répertoire ../Flex automation/frameworks/locale/en_US vers le répertoire ../Flex SDK 2/frameworks/locale/en_US.
Remarque : Cette opération n'est pas requise avec Flex Builder 3.
Impossible d'exécuter des opérations liées à ClearCase pour le projet de test fonctionnel Cet incident peut survenir si la hiérarchie ou l'emplacement des actifs du projet de test fonctionnel est modifié. Lorsqu'un projet de test fonctionnel est créé, une hiérarchie par défaut est générée pour la gestion des actifs du projet. La hiérarchie et le stockage permettent de rechercher des actifs de test fonctionnel en vue de leur archivage.

Ne modifiez pas la hiérarchie des actifs d'un projet de test fonctionnel.

Une exception ObjectNotFound est émise lors de la lecture du script si l'application testée (AUT) Java est cachée derrière une autre fenêtre d'application.   Effectuez les opérations suivantes :
  1. Sélectionnez Configurer > Activer des environnements pour le test > Environnements Java.
  2. Entrez -Dawt.toolkit=sun.awt.motif.MToolkit dans la zone Options d'exécution et cliquez sur Terminer.
Impossible d'enregistrer des jeux de caractères codés sur deux octets (DBCS) Lorsque vous tapez des caractères à deux octets, il se peut qu'une même séquence de touches soit associée à plusieurs caractères DBCS. L'éditeur de méthode de saisie (IME) permet de sélectionner le caractère de votre choix lorsque vous appuyez sur la barre d'espace après une séquence de touches. Appuyez sur Entrée pour enregistrer la chaîne de saisie.
Rational Functional Tester n'enregistre pas les actions liées aux applications Flex. Cet incident survient si l'environnement Flex et l'application ne sont pas configurés correctement. Vérifiez que :
  • Le paramètre d'Internet Explorer Contrôles d'initialisation et de script ActiveX non marqués comme sécurisés est activé.
  • L'application est chargée via une page HTML, avec une balise <object> pour laquelle un attribut id, ne contenant ni point ni trait d'union, est défini.
  • L'application est chargée à partir d'un serveur Web ou en local à partir d'un fichier SWF sécurisé.
Une exception ObjectNotFound s'est produite lors de la lecture du script et le message de l'exception indique que l'état de l'objet est incorrect.

Par exemple : Looking for [button] with state [ENABLED|VISIBLE|READY], possible failing candidate[{.mappableClassIndex=0, text=*!ENT!*, .classIndex=0}] with incorrect state [DISABLED]

Lors de la lecture, Rational Functional Tester attend l'un des états suivants pour un objet de test :
  • ENABLED
  • VISIBLE
  • READY (navigateur)
Si l'état de l'objet de test ne correspond pas à l'état attendu, l'exception ObjectNotFound est générée.
Pour éviter cette exception, choissez la valeur null ou ANY pour l'ancre de l'objet.

Par exemple : Remplacez button().click(); par button(null, DISABLED).click();

Functional Tester reconnaît les objets GEF comme objets FigureCanvas Les objets GEF implémentés à l'aide d'éditeurs GEF standard ou non sont reconnus comme objets FigureCanvas.
  • Vérifiez que le plug-in de l'outil d'activation GEF com.rational.test.ft.gef_xx.jar se trouve bien dans le répertoire des plug-ins d'AUT.
  • Si les objets GEF ne sont pas identifiés même après l'activation, démarrez AUT avec l'option -clean.
  • Pour les éditeurs non standard, ajoutez la méthode getAdapter dans l'éditeur GEF non standard (AUT). Cette méthode est utilisée par Functional Tester pour obtenir une instance de GraphicalViewer afin de reconnaître les objets GEF dans l'éditeur.
    public Object getAdapter(Class type)
    {
    if (type == org.eclipse.gef.GraphicalViewer.class)
     {
    <<return the current instance of org.eclipse.gef.GraphicalViewer>>
     }
    }
Incidents lors de l'enregistrement et de la lecture sous Internet Explorer 7.0 avec Functional Tester, version 8.0. Toutefois, l'enregistrement et la lecture des scripts fonctionnent sur Functional Tester 7.x. Cet incident peut se produire en raison de modifications apportées dans Functional Tester pour améliorer les performances de lecture dans Internet Explorer 7.0.
Affectez à l'option des modifications de performances la valeur false et vérifiez si l'incident est résolu. Pour modifier l'option des performances, procédez comme suit :
  1. Ouvrez le fichier ivory.properties situé dans <répertoire d'installation de Functional Tester>\SDP\FunctionalTester\bin
  2. Spécifiez rational.test.ft.html.enableie7performancechanges=false
    Remarque : Si vous affectez à cette option la valeur false, les performances de test des applications HTML sur Internet Explorer 7.0 sont moins bonnes.
  3. Redémarrez Internet Explorer 7.0 pour que les modifications soient appliquées.
Le navigateur Firefox 3.0 n'est pas activé par défaut même si la tâche d'activation indique que Firefox 3.0 est activé après la mise à niveau de Firefox 2.0 à Firefox 3.0. Firefox 3.0 est installé dans le même emplacement que Firefox 2.0. En conséquence, une dll d'activation est requise. Pour activer un navigateur Firefox 3.0, désactivez et réactivez le navigateur après avoir effectué la mise à niveau de Firefox 2.0 à Firefox 3.0.
Impossible d'enregistrer un script sous Internet Explorer 7.0 dans Microsoft Windows Vista après l'activation du navigateur. Sous Windows Vista, vous devez modifier le paramétrage du navigateur Internet Explorer 7.0 pour enregistrer un script. Pour modifier le paramétrage du navigateur, procédez comme suit :
  1. Accédez à Outils > Options Internet > Assistant de sécurité.
  2. Désactivez la case à cocher Mode protégé.
  3. Redémarrez le navigateur.
Impossible de voir les journaux Dojo dans Firefox version 3.0. Sous FireFox version 3.0, peu d'indicateurs de sécurité ont été définis pour afficher les journaux Dojo. Ces indicateurs de sécurité permettent à Firefox version 3.0 d'accéder aux scripts Java dans le système de fichiers pour le Dojo installé. Pour afficher les journaux Dojo dans Firefox 3.0, procédez comme suit :
  1. Entrez about:config comme adresse URL dans le navigateur Firefox 3.0.
  2. Définissez les indicateurs de sécurité suivants :
    • key: security.fileuri.origin_policy and value: 3
    • key: security.fileuri.strict_origin_policy and value: false
Impossible de lancer l'application Flex à l'aide de l'option Application Web > Temps de compilation via l'assistant de configuration d'applications. L'assistant de configuration d'applications génère une page html et un fichier swf correspondant au fichier mxml de l'application Flex. La page html générée via l'assistant contient le chemin d'accès complet au fichier swf. Mais, dans le cas d'une application Web, l'application est lancée à l'aide de l'option du système hôte local dans l'url. Le fichier swf n'est pas accessible par le biais du chemin d'accès complet et donc ne réussit pas à lancer l'application. Modifiez la page html pour pointer uniquement sur le nom swf et non sur le chemin d'accès complet.
  • Changez <param name="movie" value="C:\FlexSample\Smoke.swf"> pour <param name="movie" value="Smoke.swf"/>.
  • Changez <embed src="C:\FlexSample\Smoke.swf"> pour <embed src="Smoke.swf">.

Retour d'informations