Partager via


Comment : créer un test codé de l'interface utilisateur piloté par des données

À l'aide de Visual Studio Premium ou de Visual Studio Ultimate, vous pouvez créer un test codé de l'interface utilisateur qui permet de vérifier que l'interface utilisateur d'une application fonctionne correctement. Le test codé de l'interface utilisateur exécute des actions sur les contrôles d'interface utilisateur d'une application et vérifie que les contrôles spécifiés affichent les valeurs correctes. Pour plus d'informations sur la création d'un test codé de l'interface utilisateur, consultez Comment : créer un test codé de l'interface utilisateur.

Après la création d'un test codé de l'interface utilisateur à l'aide des données spécifiées, il est possible d'exécuter plusieurs fois votre test codé de l'interface utilisateur avec différents groupes de données pour la tester dans différentes conditions. Pour cela, vous pouvez ajouter des valeurs de paramètres depuis une source de données pour créer un test codé de l'interface utilisateur piloté par des données. Chaque ligne de la source de données est une itération du test codé de l'interface utilisateur. Le résultat total du test sera basé sur le résultat de toutes les itérations. Par exemple, si une itération de test échoue, le résultat de test global échoue.

Pour des informations plus générales sur les tests pilotés par les données, consultez Comment : créer un test unitaire piloté par des données.

Lorsque vous générez des méthodes ou des assertions pour votre test codé de l'interface utilisateur en les enregistrant, toutes les constantes référencées dans les méthodes enregistrées sont paramétrables dans des classes de paramètres. Par exemple, si vous ajoutez une méthode nommée AddTwoNumbers, l'infrastructure des tests codés de l'interface utilisateur génère une autre classe nommée AddTwoNumbersParams et ajoute un champ à cette classe pour chaque valeur constante que vous avez utilisée lors de l'enregistrement de la méthode. Si vous générez une méthode d'assertion nommée AssertForAdd, l'infrastructure génère une classe nommée AssertforAddExpectedValues pour les valeurs attendues. Ces classes sont générées automatiquement et sont utilisées dans les étapes suivantes.

Toutes les modifications apportées à votre test pour pouvoir utiliser une source de données pour les paramètres seront effectuées dans le fichier de code source de votre test (c.-à-d. CodedUITest1.cs). Vous ne pouvez pas modifier le code dans le fichier UIMap.Designer.cs.

Après la création d'un test codé de l'interface utilisateur, vous pouvez utiliser les étapes de la procédure suivante pour ajouter votre source de données et vos paramètres à votre test. Cet exemple suppose que les éléments de code suivants se trouvent dans votre solution :

  • Une classe de test codé de l'interface utilisateur nommée CodedUITest1.

  • Une méthode de test nommée CodedUITestMethod1().

La méthode de test s'applique à une application de calculatrice simple, qui ajoute deux nombres et vérifie qu'ils sont ajoutés correctement pour valider le test.

La source de données est un fichier .csv qui contient les données suivantes :

Input1

Input2

ExpectedResult

3

4

7

5

6

11

1200

24000

25200

Créez le fichier et ajoutez-le à votre projet de test.

Créer un test codé de l'interface utilisateur piloté par des données

Pour créer un test codé de l'interface utilisateur piloté par des données

  1. Dans l'Explorateur de solutions, ouvrez la solution qui contient votre projet de test.

  2. Cliquez sur le menu Test, pointez sur Fenêtres, puis cliquez sur Affichage des tests.

    La fenêtre Affichage des tests qui contient votre test codé de l'interface utilisateur s'ouvre.

  3. Dans la fenêtre Affichage des tests, cliquez avec le bouton droit sur la méthode de test codé de l'interface utilisateur, puis cliquez sur Propriétés.

    Cela a pour effet d'ouvrir la fenêtre Propriétés.

  4. Pour sélectionner la source de données à utiliser pour votre test codé de l'interface utilisateur, cliquez sur les points de suspension à droite de Chaîne de connexion de données dans la fenêtre Propriétés.

    L'Assistant Nouvelle source de données de test s'ouvre.

  5. Sélectionnez le type de la source de données que vous voulez utiliser. Pour cet exemple, sélectionnez le type de source de données .csv. Cliquez sur Suivant et entrez le chemin d'accès et le nom de votre fichier .csv, puis cliquez sur Terminer.

    Vous pouvez maintenant utiliser la source de données pour cette méthode de test. Utilisez TestContext.DataRow pour accéder à la ligne actuelle de données de la source de données. Vous pouvez accéder à chaque colonne à l'aide de la syntaxe suivante :

    string paramVal = TestContext.DataRow["Input1"]
    
  6. Dans l'Explorateur de solutions, ouvrez le fichier CodedUITest1.cs. Apportez les modifications suivantes à la méthode CodedUITestMethod1() :

    1. Ajoutez les deux lignes suivantes de code avant l'appel de la méthode AddTwoNumbers pour fournir des valeurs aux nombres à ajouter.

      this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
          TestContext.DataRow["Input1"].ToString();
      this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
          TestContext.DataRow["Input2"].ToString();
      
    2. Ajoutez la ligne de code suivante juste avant l'appel de la méthode AssertforAdd pour fournir la valeur de la méthode d'assertion.

      this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = 
          TestContext.DataRow["ExpectedResult"].ToString();
      

      Voici à quoi doit ressembler la méthode de test codé de l'interface utilisateur avec les paramètres et la source de données :

      [DeploymentItem("DataDriven.csv"), 
          DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", 
              "|DataDirectory|\\DataDriven.csv", "DataDriven#csv", 
              DataAccessMethod.Sequential), 
          TestMethod]
      public void CodedUITestMethod1()
      {
          // To generate code for this test, select "Generate Code for 
          // Coded UI Test" from the shortcut menu and select one of 
          // the menu items.
          this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
              TestContext.DataRow["Input1"].ToString();
          this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
              TestContext.DataRow["Input2"].ToString();
          this.UIMap.AddTwoNumbers();
      
          this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = 
              TestContext.DataRow["ExpectedResult"].ToString();
          this.UIMap.AssertforAdd();
      }
      
  7. Enregistrez les modifications apportées au fichier de code source CodedUITest1.cs.

  8. Pour exécuter votre test codé de l'interface utilisateur, cliquez avec le bouton droit sur le test codé de l'interface utilisateur dans la fenêtre Affichage des tests et cliquez sur Exécuter la sélection.

    À l'issue de l'exécution des tests, le résultat global des tests pour toutes les itérations du test s'affiche dans la fenêtre Résultats des tests. Pour afficher les détails de chaque itération, double-cliquez sur le test dans la fenêtre Résultats des tests.

Voir aussi

Tâches

Comment : créer un test codé de l'interface utilisateur

Référence

UIMap

Assert

Concepts

Comment : créer un test unitaire piloté par des données

Test de l'interface utilisateur avec des tests d'interface utilisateur automatisés

Meilleures pratiques pour les tests codés de l'interface utilisateur

Plateformes et configurations prises en charge pour les tests codés de l'interface utilisateur et les enregistrements des actions