Utiliser l'automatisation de l'interface utilisateur pour tester votre code

 

Date de publication : juin 2016

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Vous pouvez créer des tests automatisés qui vérifient l'interface utilisateur de votre application. Ces tests sont appelés tests codés de l'interface utilisateur. Ils permettent de tester le fonctionnement des contrôles d'interface utilisateur et de vérifier que l'application entière, y compris son interface utilisateur, fonctionne correctement. Les tests codés de l'interface utilisateur sont particulièrement utiles quand il y a une validation ou autre logique dans l'interface utilisateur, par exemple dans une page web. On les utilise aussi fréquemment pour automatiser un test manuel existant.

Comme l'illustre la figure ci-dessous, dans un scénario de développement par défaut, il est courant qu'initialement vous génériez simplement votre application (F5) et cliquiez parmi les contrôles d'interface utilisateur pour vérifier que tout fonctionne comme prévu. Vous pouvez ensuite décider de créer un test codé pour ne pas avoir à continuer de tester l'application manuellement. Selon les fonctionnalités spécifiques testées dans votre application, vous pouvez écrire du code pour un test fonctionnel ou pour un test d'intégration qui peut ou non inclure des tests au niveau de l'interface utilisateur. Si vous souhaitez simplement accéder directement à une logique métier, vous pouvez coder un test unitaire. Toutefois, dans certaines circonstances, il peut être bénéfique de tester les différents contrôles d'interface utilisateur de votre application. Un test codé de l'interface utilisateur peut automatiser le scénario initial (F5) et vérifier que l'évolution du code n'a aucun impact sur la fonctionnalité de votre application.

Test lors du développement d’application

Créer un test codé de l'interface utilisateur est très facile. Il vous suffit d'exécuter le test manuellement pendant que le Générateur de test codé de l'interface utilisateur s'exécute en arrière-plan. Vous pouvez aussi spécifier les valeurs qui doivent apparaître dans des champs spécifiques. Le Générateur de test codé de l'interface utilisateur enregistre vos actions et génère du code à partir de ces actions. Une fois le test créé, vous pouvez le modifier dans un éditeur spécial qui vous permet de modifier la séquence d'actions.

En guise d'alternative, si vous avez un cas de test qui a été enregistré dans Microsoft Test Manager, vous pouvez générer du code à partir de ce cas de test. Pour plus d'informations, consultez Enregistrer et lire des tests manuels.

Le Générateur de test codé de l'interface utilisateur et l'éditeur spécial simplifient la création et la modification des tests codés de l'interface utilisateur même si vos compétences principales sont axées sur les tests plutôt que sur le codage. Si vous êtes développeur et que vous souhaitez approfondir le test, le code est structuré pour être facile à copier et à adapter. Par exemple, vous pouvez enregistrer un test d'achat d'un article sur un site web, puis modifier le code généré et ajouter une boucle qui achète de nombreux articles.

Spécifications

  • Visual Studio Enterprise

Pour plus d'informations sur les plateformes et configurations prises en charge par les tests codés de l'interface utilisateur, consultez Plateformes et configurations prises en charge pour les tests codés de l'interface utilisateur et les enregistrements des actions.

Dans cette rubrique

  1. Créer un projet de test codé de l'interface utilisateur.

    Les tests codés de l'interface utilisateur doivent appartenir à un projet de test codé de l'interface utilisateur. Si vous n'avez pas encore de projet de test codé de l'interface utilisateur, créez-en un. Dans l'Explorateur de solutions, dans le menu contextuelle de la solution, choisissez Ajouter, Nouveau projet, puis sélectionnez Visual Basic ou Visual C#. Ensuite, choisissez Test, Test codé de l'interface utilisateur.

    • Je ne vois pas les modèles de projets Test codé de l'interface utilisateur.

      Vous utilisez peut-être une version de Microsoft Visual Studio 2012 qui ne prend pas en charge les tests codés de l'interface utilisateur. Pour créer des tests codés de l'interface utilisateur, vous devez utiliser Visual Studio Enterprise.

  2. Ajouter un fichier de test codé de l'interface utilisateur.

    Si vous venez de créer un projet de test codé de l'interface utilisateur, le premier fichier de test codé de l'interface utilisateur est ajouté automatiquement. Pour ajouter un autre fichier de test, ouvrez le menu contextuel du projet de test codé de l'interface utilisateur, pointez sur Ajouter, puis choisissez Test codé de l'interface utilisateur.

    Créer un test d’interface utilisateur codé

    Dans la boîte de dialogue Générer le code pour le test codé de l'interface utilisateur, choisissez Enregistrer les actions, modifier le mappage d'IU ou ajouter des assertions.

    Sélectionner des actions d'enregistrement

    Le Générateur de test codé de l'interface utilisateur apparaît et Visual Studio est réduit.

    Générateur de test codé de l'interface utilisateur

  3. Enregistrer une séquence d'actions.

    Pour commencer l'enregistrement, choisissez l'icône Enregistrer. Effectuez les actions que vous souhaitez tester dans votre application, y compris le démarrage de l'application si nécessaire.

    Par exemple, si vous testez une application web, vous pourriez démarrer un navigateur, accéder au site web et vous connecter à l'application.

    Pour mettre l'enregistrement en pause, par exemple si vous venez de recevoir du courrier électronique et que vous souhaitez le traiter, choisissez Pause.

    System_CAPS_ICON_warning.jpg Avertissement

    Toutes les actions effectuées sur le Bureau sont enregistrées. Mettez l'enregistrement en pause si vous effectuez des actions susceptibles d'inclure des données confidentielles dans l'enregistrement.

    Pour supprimer des actions enregistrées par erreur, choisissez Modifier des actions.

    Pour générer le code qui répliquera vos actions, choisissez l'icône Générer le code et tapez un nom et une description pour votre méthode de test codé de l'interface utilisateur.

  4. Vérifier les valeurs dans les champs d'interface utilisateur tels que les zones de texte.

    Choisissez Ajouter des assertions dans le Générateur de test codé de l'interface utilisateur, puis choisissez un contrôle d'interface utilisateur dans votre application en cours d'exécution. Dans la liste de propriétés qui s'affiche, sélectionnez une propriété, par exemple Texte dans une zone de texte. Dans le menu contextuel, choisissez Ajouter une assertion. Dans la boîte de dialogue, sélectionnez l'opérateur de comparaison, la valeur de comparaison et le message d'erreur.

    Fermez la fenêtre d'assertion et choisissez Générer le code.

    Élément de ciblage du test codé de l'IU

    System_CAPS_ICON_tip.jpg Astuce

    Alternez entre l'enregistrement des actions et la vérification des valeurs. Générez le code à la fin de chaque séquence d'actions ou de vérifications. Si vous le souhaitez, vous pourrez insérer de nouvelles actions et vérifications ultérieurement.

    Pour plus d'informations, voir Validation des propriétés des contrôles.

  5. Afficher le code de test généré.

    Pour afficher le code généré, fermez la fenêtre du Générateur de test codé de l'interface utilisateur. Dans le code figurent les noms que vous avez donnés à chaque étape. Le code se trouve dans le fichier de test codé de l'interface utilisateur que vous avez créé :

    [CodedUITest]  
    public class CodedUITest1  
    { ...  
      [TestMethod]  
      public void CodedUITestMethod1()  
      {  
          this.UIMap.AddTwoNumbers();  
          this.UIMap.VerifyResultValue();  
          // To generate more code for this test, select   
          // "Generate Code" from the shortcut menu.  
      }  
    }  
    
    
  6. Ajouter d'autres actions et assertions.

    Placez le curseur au point approprié dans la méthode de test puis, dans le menu contextuel, choisissez Générer le code pour le test codé de l'interface utilisateur. Le nouveau code sera inséré à ce point.

  7. Modifier les détails des actions et assertions du test.

    Ouvrez UIMap.uitest. Ce fichier s'ouvre dans l'Éditeur de test codé de l'interface utilisateur, où vous pouvez modifier n'importe quelle séquence d'actions enregistrée et vos assertions.

    Éditeur de test codé de l'interface utilisateur

    Pour plus d'informations, consultez Modification des tests codés de l'interface utilisateur à l'aide de l'éditeur de test codé de l'interface utilisateur.

  8. Exécuter le test.

    Ouvrez l'Explorateur de tests ou le menu contextuel dans la méthode de test, puis choisissez Exécuter les tests. Pour plus d'informations sur la façon d'exécuter les tests, consultez Exécuter des tests unitaires avec l'Explorateur de tests et Options supplémentaires pour l'exécution des tests codés de l'interface utilisateur dans la section Quelle est la suite ? située à la fin de cette rubrique.

Les autres sections de cette rubrique décrivent plus en détail les étapes de cette procédure.

Pour obtenir un exemple plus détaillé, consultez Procédures pas à pas : création, édition et gestion d'un test codé de l'interface utilisateur. Dans cette procédure pas à pas, vous allez créer une simple application WPF (Windows Presentation Foundation) pour montrer comment créer, modifier et gérer un test codé de l'interface utilisateur. La procédure pas à pas fournit des solutions pour la correction des tests interrompus par différents problèmes de synchronisation et de refactorisation des contrôles.

Démarrage et arrêt de l'application testée

Je ne souhaite pas démarrer et arrêter mon application, mon navigateur ou ma base de données séparément pour chaque test. Comment faire ?

  • Composant requis Si vous ne souhaitez pas enregistrer les actions de démarrage de votre application durant le test, vous devez la démarrer avant de choisir l'icône Enregistrer.

  • Composant requis À la fin du test, le processus dans lequel le test s'exécute est arrêté. Si vous avez démarré votre application dans le test, l'application se ferme généralement à l'issue du test. Si vous ne voulez pas que votre application soit fermée à la fin du test, vous devez ajouter un fichier .runsettings à votre solution et utiliser l'option KeepExecutorAliveAfterLegacyRun. Pour plus d'informations, consultez Configurer des tests unitaires à l'aide d'un fichier .runsettings.

  • Composant requis Vous pouvez ajouter une méthode d'initialisation de test, identifiée par un attribut [TestInitialize], qui exécute du code au début de chaque méthode de test. Vous pouvez par exemple démarrer l'application à partir de la méthode TestInitialize.

  • Composant requis Vous pouvez ajouter une méthode de nettoyage de test, identifiée par un attribut [TestCleanup], qui exécute du code à la fin de chaque méthode de test. La méthode de fermeture de l'application pourrait par exemple être appelée à partir de la méthode TestCleanup.

Validation des propriétés des contrôles d'interface utilisateur

Vous pouvez utiliser le Générateur de test codé de l'interface utilisateur pour ajouter un contrôle d'interface utilisateur à l'objet T:Microsoft.VisualStudio.TestTools.UITest.Common.UIMap.UIMap de votre test ou pour générer du code pour une méthode de validation qui utilise une assertion pour un contrôle d'interface utilisateur.

Pour générer des assertions pour vos contrôles d'interface utilisateur, choisissez l'outil Ajouter des assertions dans le Générateur de test codé de l'interface utilisateur et faites-le glisser vers le contrôle sur l'application testée dont vous souhaitez vérifier le bon fonctionnement. Quand la zone met votre contrôle en surbrillance, relâchez le bouton de la souris. Le code de la classe de contrôle est créé immédiatement dans le fichier UIMap.Designer.cs.

Élément de ciblage du test codé de l'IU

Les propriétés de ce contrôle sont maintenant répertoriées dans la boîte de dialogue Ajouter des assertions.

Une autre approche pour accéder à un contrôle spécifique consiste à choisir la flèche (<<) pour développer la vue du Mappage de contrôle d'interface utilisateur. Pour rechercher un contrôle parent, frère ou enfant, vous pouvez cliquer n'importe où sur le mappage et utiliser les touches de direction pour vous déplacer dans l'arborescence.

Propriétés du test codé de l’interface utilisateur

  • Je ne vois aucune propriété quand je sélectionne un contrôle dans mon application ou je ne vois pas le contrôle dans le Mappage de contrôle d'interface utilisateur.

    Dans le code d'application, le contrôle que vous voulez vérifier doit avoir un ID unique, tel qu'un attribut d'ID HTML, ou un UID WPF. Vous devrez peut-être mettre à jour le code d'application pour ajouter ces ID.

Ensuite, ouvrez le menu contextuel sur la propriété du contrôle d'interface utilisateur à vérifier, puis pointez sur Ajouter une assertion. Dans la boîte de dialogue Ajouter une assertion, sélectionnez le Comparateur pour votre assertion, par exemple AreEqual, et tapez la valeur de votre assertion dans Valeur de comparaison.

Assertions du test codé de l’IU

Quand vous avez ajouté toutes les assertions pour votre test, choisissez OK.

Pour générer le code pour vos assertions et ajouter le contrôle au mappage d'IU, choisissez l'icône Générer le code. Tapez un nom pour votre méthode de test codé de l'interface utilisateur et une description de la méthode, qui sera ajoutée en guise de commentaires de la méthode. Choisissez Ajouter et générer. Ensuite, choisissez l'icône Fermer pour fermer le Générateur de test codé de l'interface utilisateur. Du code semblable au suivant est généré. Par exemple, si vous avez entré le nom AssertForAddTwoNumbers, le code ressemble à ce qui suit :

  • Ajoute un appel à la méthode assert AssertForAddTwoNumbers à la méthode de test dans votre fichier de test codé de l'interface utilisateur :

    [TestMethod]  
    public void CodedUITestMethod1()  
    {  
        this.UIMap.AddTwoNumbers();  
        this.UIMap.AssertForAddTwoNumbers();  
    }  
    
    

    Vous pouvez modifier ce fichier pour changer l'ordre des étapes et des assertions ou pour créer de nouvelles méthodes de test. Pour ajouter du code, placez le curseur sur la méthode de test puis, dans le menu contextuel, choisissez Générer le code pour le test codé de l'interface utilisateur.

  • Ajoute une méthode nommée AssertForAddTwoNumbers à votre mappage d'interface utilisateur (UIMap.uitest). Ce fichier s'ouvre dans l'Éditeur de test codé de l'interface utilisateur, où vous pouvez modifier les assertions.

    Modifier l’assertion à l’aide de l’éditeur de test codé de l’interface utilisateur

    Pour plus d'informations, consultez Modification des tests codés de l'interface utilisateur à l'aide de l'éditeur de test codé de l'interface utilisateur.

    Vous pouvez aussi afficher le code généré de la méthode d'assertion dans UIMap.Designer.cs. En revanche, vous ne devez pas modifier ce fichier. Si vous souhaitez créer une version adaptée du code, copiez les méthodes dans un autre fichier tel que UIMap.cs, renommez les méthodes, puis modifiez-les à cet endroit.

    public void AssertForAddTwoNumbers()  
    {  
        ...  
    }  
    
    

Le contrôle que je veux sélectionner perd le focus et disparaît quand j'essaie de sélectionner l'outil Ajouter des assertions dans le Générateur de test codé de l'interface utilisateur. Comment faire pour sélectionner le contrôle ?
Sélection d'un contrôle masqué à l'aide du clavier

Parfois, lors de l'ajout de contrôles et la validation de leurs propriétés, vous devez utiliser le clavier. Par exemple, quand vous essayez d'enregistrer un test codé de l'interface utilisateur qui utilise un contrôle de menu contextuel, la liste des éléments de menu dans le contrôle perd le focus et disparaît quand vous tentez de sélectionner l'outil Ajouter des assertions dans le Générateur de test codé de l'interface utilisateur. Ainsi, dans l'illustration ci-dessous, le menu contextuel dans Internet Explorer perd le focus et disparaît si vous essayez de le sélectionner avec l'outil Ajouter des assertions.

CodedUITest_SelectControlKeyboard

Pour utiliser le clavier pour sélectionner un contrôle d'interface utilisateur, placez le pointeur de la souris sur le contrôle. Maintenez enfoncée la touche Ctrl et la touche I en même temps. Relâchez les touches. Le contrôle est enregistré par le Générateur de test codé de l'interface utilisateur.

System_CAPS_ICON_warning.jpg Avertissement

Si vous utilisez Microsoft Lync, vous devez fermer Lync avant de démarrer le Générateur de test codé de l'interface utilisateur. Microsoft Lync interfère avec le raccourci clavier Ctrl+I.

Je ne parviens pas à enregistrer un pointage de la souris sur un contrôle. Existe-t-il un moyen de contourner ce problème ?
Enregistrement manuel de pointages de la souris

Dans certaines circonstances, un contrôle spécifique utilisé dans un test codé de l'interface utilisateur peut nécessiter l'utilisation du clavier pour enregistrer manuellement des événements de pointage de la souris. Par exemple, quand vous testez une application Windows Form ou WPF (Windows Presentation Foundation), il peut exister du code personnalisé. Ou un comportement spécial peut être défini pour le pointage sur un contrôle, par exemple le développement d'une arborescence quand un utilisateur place le pointeur de la souris dessus. Pour tester ces scénarios, vous devez signaler manuellement au Générateur de test codé de l'interface utilisateur que vous pointez sur un contrôle en appuyant sur des touches de clavier prédéfinies.

Quand vous exécutez votre test codé de l'interface utilisateur, placez le pointeur de la souris sur le contrôle. Ensuite, maintenez enfoncée la touche Ctrl pendant que vous maintenez enfoncées les touches Maj et R de votre clavier. Relâchez les touches. Un événement de pointage de la souris est enregistré par le Générateur de test codé de l'interface utilisateur.

CodedUI_Hover

Une fois que vous avez généré la méthode de test, du code semblable à celui de l'exemple ci-dessous est ajouté au fichier UIMap.Desinger.cs :

// Mouse hover '1' label at (87, 9)  
Mouse.Hover(uIItem1Text, new Point(87, 9));  
  

L'affectation des touches pour la capture des événements de pointage de souris est utilisée ailleurs dans mon environnement. Puis-je modifier l'affectation des touches par défaut ?
Configuration des affectations de touches du clavier pour le pointage de souris

Si nécessaire, l'affectation du clavier par défaut de Ctrl+Maj+R utilisée pour appliquer les événements de pointage de souris dans vos tests codés de l'interface utilisateur peut être configurée pour utiliser des touches différentes.

System_CAPS_ICON_warning.jpg Avertissement

Vous ne devriez pas avoir à changer les affectations du clavier pour les événements de pointage de souris dans des circonstances normales. Procédez avec caution lors de la modification de l'affectation du clavier. Votre choix est peut-être déjà utilisé ailleurs dans Visual Studio ou dans l'application testée.

Pour changer les affectations du clavier, vous devez modifier le fichier de configuration suivant :

<lettre_lecteur:>\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CodedUITestBuilder.exe.config

Dans le fichier de configuration, changez les valeurs des clés HoverKeyModifier et HoverKey pour modifier les affectations du clavier :

<!-- Begin : Background Recorder Settings -->  
<!-- HoverKey to use. -->  
<add key="HoverKeyModifier" value="Control, Shift"/>  
<add key="HoverKey" value="R"/>  
  

J'ai des difficultés à enregistrer les pointages de souris sur un site web. Existe-t-il aussi un correctif pour ce problème ?
Définition de pointages de souris implicites pour le navigateur web

Dans de nombreux sites web, quand vous placez le pointeur de souris sur un contrôle spécifique, il s'étend et affiche des détails supplémentaires. En général, ces détails prennent une apparence semblable aux menus des applications de bureau. Comme il s'agit d'un modèle commun, les tests codés de l'interface utilisateur activent les pointages implicites pour la navigation web. Par exemple, si vous enregistrez des pointages dans Internet Explorer, un événement est déclenché. Ces événements peuvent provoquer l'enregistrement de pointages redondants. Pour cette raison, les pointages implicites sont enregistrés avec ContinueOnError définis avec la valeur true dans le fichier de configuration du test d'interface utilisateur. Cela permet à la lecture de se poursuivre en cas d'échec d'un événement de pointage.

Pour activer l'enregistrement des pointages implicites dans un navigateur web, ouvrez le fichier de configuration :

<lettre_lecteur:>\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CodedUITestBuilder.exe.config

Vérifiez que dans le fichier de configuration la clé RecordImplicitiHovers a la valeur true, comme illustré dans l'exemple ci-dessous :

<!--Use this to enable/disable recording of implicit hovers.-->  
<add key="RecordImplicitHover" value="true"/>  
  

Après avoir créé votre test codé de l'interface utilisateur, vous pouvez le modifier à l'aide de l'un des outils suivants dans Visual Studio :

Code généré

Quand vous choisissez Générer le code, plusieurs segments de code sont créés :

  • Une ligne dans la méthode de test

    [CodedUITest]  
    public class CodedUITest1  
    { ...  
      [TestMethod]  
      public void CodedUITestMethod1()  
      {  
          this.UIMap.AddTwoNumbers();  
          // To generate more code for this test, select   
          // "Generate Code" from the shortcut menu.      }  
    }  
    
    

    Vous pouvez cliquer avec le bouton droit dans cette méthode pour ajouter d'autres actions et vérifications enregistrées. Vous pouvez aussi la modifier manuellement pour étendre ou modifier le code. Vous pouvez par exemple englober une partie du code dans une boucle.

    Vous pouvez également ajouter de nouvelles méthodes de test et y ajouter du code de la même façon. Chaque méthode de test doit avoir l'attribut [TestMethod].

  • Une méthode dans UIMap.uitest

    Cette méthode comprend les détails des actions que vous avez enregistrées ou la valeur que vous avez vérifiée. Vous pouvez modifier ce code en ouvrant le fichier UIMap.uitest. Il s'ouvre dans un éditeur spécial dans lequel vous pouvez supprimer ou refactoriser les actions enregistrées.

    Vous pouvez aussi afficher la méthode générée dans UIMap.Designer.cs. Cette méthode effectue les actions que vous avez enregistrées lors de l'exécution du test.

    // File: UIMap.Designer.cs  
    public partial class UIMap  
    {  
      /// <summary>  
      /// Add two numbers  
      /// </summary>  
      public void AddTwoNumbers()  
      { ...   }  
    }  
    
    
    System_CAPS_ICON_warning.jpg Avertissement

    Vous ne devez pas modifier ce fichier, car il sera regénéré quand vous créerez d'autres tests.

    Vous pouvez créer des versions adaptées de ces méthodes en les copiant dans UIMap.cs. Vous pouvez par exemple créer une version paramétrée que vous pourriez appeler depuis une méthode de test :

    // File: UIMap.cs  
    public partial class UIMap // Same partial class  
    {  
      /// <summary>  
      /// Add two numbers – parameterized version  
      /// </summary>  
      public void AddTwoNumbers(int firstNumber, int secondNumber)  
      { ...   // Code modified to use parameters.  
      }  
    }  
    
    
  • Déclarations dans UIMap.uitest

    Ces déclarations représentent les contrôles d'interface utilisateur de l'application utilisés par votre test. Elles sont utilisées par le code généré pour exécuter les contrôles et accéder à leurs propriétés.

    Vous pouvez aussi les utiliser si vous écrivez votre propre code. Vous pouvez par exemple faire en sorte que votre méthode de test choisisse un lien hypertexte dans une application web, entre une valeur dans une zone de texte ou bifurque et exécute différentes actions de test en fonction de la valeur d'un champ.

    Vous pouvez ajouter plusieurs tests codés de l'interface utilisateur et plusieurs objets et fichiers de mappage d'IU pour faciliter le test d'une grande application. Pour plus d'informations, consultez Test d'une grande application avec plusieurs mappages d'IU.

Pour plus d'informations sur le code généré, consultez Anatomie d'un test codé de l'interface utilisateur.

Codage des actions et propriétés du contrôle d'interface utilisateur

Quand vous utilisez des contrôles de test de l'interface utilisateur dans des tests codés de l'interface utilisateur, ils sont séparés en deux catégories : actions et propriétés.

  • La première catégorie est constituée d'actions que vous pouvez effectuer sur des contrôles de test de l'interface utilisateur. Par exemple, les tests codés de l'interface utilisateur peuvent simuler des clics de souris sur un contrôle de test de l'interface utilisateur ou simuler des frappes sur des touches du clavier pour affecter un contrôle de test de l'interface utilisateur.

  • La seconde catégorie vous permet d'obtenir et de définir des propriétés sur un contrôle de test de l'interface utilisateur. Par exemple, les tests codés de l'interface utilisateur peuvent obtenir le nombre d'éléments d'un contrôle ListBox ou définir un contrôle CheckBox à l'état sélectionné.

Accès aux actions d'un contrôle de test de l'interface utilisateur

Pour effectuer des actions sur des contrôles de test de l'interface utilisateur, telles que des clics de souris ou des actions au clavier, utilisez les méthodes des classes Mouse et Keyboard :

  • Pour effectuer une action orientée souris (telle qu'un clic) sur un contrôle de test de l'interface utilisateur, utilisez Click.

    Mouse.Click(buttonCancel);

  • Pour effectuer une action orientée clavier, telle que l'entrée dans un contrôle d'édition, utilisez SendKeys.

    Keyboard.SendKeys(textBoxDestination, @"C:\Temp\Output.txt");

Accès aux propriétés d'un contrôle de test de l'interface utilisateur

Pour obtenir et définir des valeurs de propriétés spécifiques à un contrôle d'interface utilisateur, vous pouvez obtenir et définir directement les valeurs des propriétés d'un contrôle ou utiliser les méthodes UITestControl.GetProperty et UITestControl.SetProperty avec le nom de la propriété spécifique que vous souhaitez obtenir ou définir.

GetProperty retourne un objet qui peut être converti en Type approprié. SetProperty accepte un objet pour la valeur de la propriété.

Pour obtenir ou définir des propriétés directement à partir de contrôles de test d'interface utilisateur
  • Avec les contrôles qui dérivent de T:Microsoft.VisualStudio.TestTools.UITesting.UITestControl, tels que T:Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlList ou T:Microsoft.VisualStudio.TestTools.UITesting.WinControls.WinComboBox, vous pouvez obtenir ou définir leurs valeurs de propriétés directement en procédant comme suit :

    int i = myHtmlList.ItemCount;  
    myWinCheckBox.Checked = true;  
    
    
Pour obtenir des propriétés à partir de contrôles de test d'interface utilisateur
  • Pour obtenir une valeur de propriété à partir d'un contrôle, utilisez GetProperty.

  • Pour spécifier la propriété du contrôle à obtenir, utilisez la chaîne appropriée de la classe PropertyNames dans chaque contrôle comme paramètre de GetProperty.

  • GetProperty retourne le type de données approprié, mais cette valeur de retour est convertie en Object. L'objet Object retourné doit ensuite être converti en type approprié.

    Exemple :

    int i = (int)GetProperty(myHtmlList.PropertyNames.ItemCount);

Pour définir des propriétés pour des contrôles de test d'interface utilisateur
  • Pour définir une propriété dans un contrôle, utilisez SetProperty.

  • Pour spécifier la propriété du contrôle à définir, utilisez la chaîne appropriée de la classe PropertyNames comme premier paramètre de SetProperty, avec la valeur de propriété comme second paramètre.

    Exemple :

    SetProperty(myWinCheckBox.PropertyNames.Checked, true);

Débogage

Vous pouvez analyser les tests codés de l'interface utilisateur à l'aide de journaux de tests codés de l'interface utilisateur. Les journaux de tests codés de l'interface utilisateur filtrent et enregistrent des informations importantes sur l'exécution de vos tests codés de l'interface utilisateur. Le format des journaux vous permet de déboguer les problèmes rapidement. Pour plus d'informations, consultez Analyse des tests codés de l'interface utilisateur à l'aide des journaux de test codé de l'interface utilisateur.

Options supplémentaires pour l'exécution des tests codés de l'interface utilisateur : vous pouvez exécuter des tests codés de l'interface utilisateur directement à partir de Visual Studio, comme décrit plus haut dans cette rubrique. Vous pouvez aussi exécuter des tests de l'interface utilisateur automatisés à partir de Microsoft Test Manager ou de Team Foundation Build. Quand les tests codés de l'interface utilisateur sont automatisés, ils doivent interagir avec le Bureau lorsque vous les exécutez, contrairement aux autres tests automatisés.

Ajout de la prise en charge des contrôles personnalisés : l'infrastructure des tests codés de l'interface utilisateur ne prend pas en charge chaque interface utilisateur possible et ne prend pas nécessairement en charge l'interface utilisateur que vous souhaitez tester. Par exemple, vous ne pouvez pas créer immédiatement un test codé de l'interface utilisateur de l'IU de Microsoft Excel. Toutefois, vous pouvez créer une extension à l'infrastructure de tests codés de l'interface utilisateur qui prendra en charge un contrôle personnalisé.

Les tests codés de l'interface utilisateur servent souvent à automatiser des tests manuels. Pour obtenir une aide supplémentaire, voir Test de la livraison continue avec Visual Studio 2012 – Chapitre 5 : Automatisation des tests système. Pour plus d'informations sur les tests manuels, consultez (retirée) Création de cas de test manuel à l'aide de Microsoft Test Manager. Pour plus d'informations sur les tests système automatisés, consultez Creating Automated Tests Using Microsoft Test Manager.

Conseils

Test de la livraison continue avec Visual Studio 2012 – Chapitre 2 : Tests unitaires : Tester l'intérieur

Test de livraison continue avec Visual Studio 2012 – Chapitre 5 : Automatisation des tests système

FAQ

FAQ sur les tests codés de l'interface utilisateur - 1

FAQ sur les tests codés de l'interface utilisateur - -2

Forum

Blog Visual Studio UI Automation Testing (avec tests codés de l'interface utilisateur)

T:Microsoft.VisualStudio.TestTools.UITest.Common.UIMap.UIMap
Assert
Améliorer la qualité du code
Procédures pas à pas : création, édition et gestion d'un test codé de l'interface utilisateur
Anatomie d'un test codé de l'interface utilisateur
Meilleures pratiques pour les tests codés de l'interface utilisateur
Test d'une grande application avec plusieurs mappages d'IU
Modification des tests codés de l'interface utilisateur à l'aide de l'éditeur de test codé de l'interface utilisateur
Plateformes et configurations prises en charge pour les tests codés de l'interface utilisateur et les enregistrements des actions
Mise à niveau de tests codés de l'interface utilisateur à partir de Visual Studio 2010
Génération d'un test codé de l'interface utilisateur à partir d'un enregistrement des actions existant

Afficher: