Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez créer un test codé de l'interface utilisateur qui test si l'interface utilisateur (UI) pour 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 Créer des tests codés de l'interface utilisateur.
Configuration requise
- Visual Studio Ultimate, Visual Studio Premium
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.
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 (i.e. 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 codé de l'interface utilisateur.
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
Dans l'Explorateur de solutions, ouvrir la solution qui contient votre projet de test codé de l'UI et ouvre ensuite le test codé de l'UI pour l'édition.
Insérez l'attribut DataSource directement dans le code, sur la ligne immédialement au dessus de votre méthode de test.Vous pouvez utilisé les strings sources de données d'exemple dans la table ci-dessous en les copiant vers votre code et faire les personalisations nécessaires.
types de source de données
Attribut de Source de donnée
CSV
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\data.csv", "data#csv", DataAccessMethod.Sequential), DeploymentItem("data.csv"), TestMethod]Excel
DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=|DataDirectory|\\Data.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]Cas de test dans Team Foundation Server
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", "http://vlm13261329:8080/tfs/DefaultCollection;Agile", "30", DataAccessMethod.Sequential), TestMethod]XML
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\data.xml", "Iterations", DataAccessMethod.Sequential), DeploymentItem("data.xml"), TestMethod]SQL Express
[DataSource("System.Data.SqlClient", "Data Source=.\\sqlexpress;Initial Catalog=tempdb;Integrated Security=True", "Data", DataAccessMethod.Sequential), TestMethod]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"]Dans l'Explorateur de solutions, ouvrez le fichier CodedUITest1.cs.Apportez les modifications suivantes à la méthode CodedUITestMethod1() :
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();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(); }
Enregistrez les modifications apportées au fichier de code source CodedUITest1.cs.
Pour exécuter votre test codé de l'interface utilisateur, cliquez avec le bouton droit dans le test codé de l'UI et choissisez Exécuter Tests Unitaires.
À 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.
Aide
Pour plus d'informations, voir Tests pour livraisons continue avec Visual Studio 2012 - Chapitre 2: Tests Unitaires: Tests à l'intérieur et Tests pour livraisons continue avec Visual Studio 2012 - Chapitre 5: Automatisation des Systems de Test
Voir aussi
Référence
Concepts
Vérification du code à l'aide de tests codés de l'interface utilisateur
Meilleures pratiques pour les tests codés de l'interface utilisateur