Freigeben über


Gewusst wie: Erstellen eines datengesteuerten Tests der codierten UI

Sie können mit Visual Studio Premium oder Visual Studio Ultimate einen Test der codierten UI erstellen, mit dem getestet wird, ob die Benutzeroberfläche (UI) für eine Anwendung ordnungsgemäß funktioniert. Beim Test der codierten UI werden Aktionen für die Steuerelemente auf der Benutzeroberfläche einer Anwendung ausgeführt, und es wird überprüft, ob die angegebenen Steuerelemente die korrekten Werten anzeigen. Weitere Informationen zum Erstellen eines Tests der codierten UI finden Sie unter Gewusst wie: Erstellen eines Tests für codierte UI.

Nachdem Sie den Test der codierten UI mit bestimmten Daten erstellt haben, können Sie ihn mehrmals mit jeweils unterschiedlichen Sätzen von Daten ausführen, um unterschiedliche Bedingungen zu testen. Zu diesem Zweck können Sie Parameterwerte aus einer Datenquelle hinzufügen, um einen datengesteuerten Test der codierten UI zu erstellen. Jede Zeile in der Datenquelle ist eine Iteration des Tests der codierten UI. Das Gesamtergebnis des Tests basiert auf dem Ergebnis für alle Iterationen. Wenn z. B. eine Testiteration fehlschlägt, lautet das Gesamttestergebnis "Fehler".

Weitere allgemeine Informationen zu datengesteuerten Tests finden Sie unter Gewusst wie: Erstellen eines datengesteuerten Komponententests.

Wenn Sie Methoden oder Assertionen für den Test der codierten UI generieren, indem Sie sie aufzeichnen, werden alle Konstanten, auf die in den aufgezeichneten Methoden verwiesen wird, in Parameterklassen parametrisiert. Wenn Sie z. B. eine Methode mit dem Namen AddTwoNumbers hinzufügen, generiert das Framework für den Test der codierten UI eine weitere Klasse mit dem Namen AddTwoNumbersParams, der für jeden beim Aufzeichnen der Methode verwendeten Konstantenwert ein Feld hinzugefügt wird. Generieren Sie eine Assertionsmethode mit dem Namen AssertForAdd, wird eine Klasse mit dem Namen AssertforAddExpectedValues für die erwarteten Werte generiert. Diese Klassen werden automatisch generiert und in den folgenden Schritten verwendet.

Alle Änderungen am Test, die dazu dienen, die Verwendung einer Datenquelle für die Parameter zu ermöglichen, werden an der Quellcodedatei des Tests vorgenommen (d. h. CodedUITest1.cs). Sie können den Code nicht in der Datei UIMap.Designer.cs ändern.

Nachdem Sie einen Test der codierten UI erstellt haben, können Sie mit den folgenden Schritten dem Test die Datenquelle und die Parameter hinzufügen. In diesem Beispiel wird davon ausgegangen, dass die Projektmappe die folgenden Codeelemente enthält:

  • Eine Klasse für Tests der codierten UI mit dem Namen CodedUITest1.

  • Eine Testmethode mit dem Namen CodedUITestMethod1().

Die Testmethode bezieht sich auf eine einfache Rechneranwendung. Sie fügt zwei Zahlen hinzu und überprüft, ob diese zusammen ordnungsgemäß hinzugefügt werden.

Die Datenquelle ist eine .csv-Datei, die die folgenden Daten enthält:

Input1

Input2

ExpectedResult

3

4

7

5

6

11

1200

24000

25200

Erstellen Sie die Datei, und fügen Sie sie dem Testprojekt hinzu.

Erstellen eines datengesteuerten Tests der codierten UI

So erstellen Sie einen datengesteuerten Test der codierten UI

  1. Öffnen Sie im Projektmappen-Explorer die Projektmappe mit dem Testprojekt.

  2. Klicken Sie im Menü Test auf Fenster und anschließend auf Testansicht.

    Das Fenster Testansicht mit dem Test der codierten UI wird geöffnet.

  3. Klicken Sie im Fenster Testansicht mit der rechten Maustaste auf die Methode für den Test der codierten UI, und klicken Sie auf Eigenschaften.

    Das Eigenschaftenfenster wird geöffnet.

  4. Klicken Sie im Fenster Eigenschaften auf die Auslassungspunkte (...) rechts neben Datenverbindungs-Zeichenfolge, um eine Datenquelle für den Test der codierten UI auszuwählen.

    Der Assistent für neue Datenquellen wird geöffnet.

  5. Wählen Sie den Typ von Datenquelle aus, den Sie verwenden möchten. Wählen Sie für dieses Beispiel den Datenquellentyp .csv aus. Klicken Sie auf Weiter, geben Sie den Pfad und den Dateinamen für die .csv-Datei ein, und klicken Sie dann auf Fertig stellen.

    Die Datenquelle ist jetzt für die Verwendung in der Testmethode verfügbar. Sie verwenden TestContext.DataRow, um auf die aktuelle Datenzeile in der Datenquelle zuzugreifen. Sie können mithilfe der folgenden Syntax auf jede Spalte zugreifen:

    string paramVal = TestContext.DataRow["Input1"]
    
  6. Öffnen Sie im Projektmappen-Explorer die Datei CodedUITest1.cs. Nehmen Sie die folgenden Änderungen an der CodedUITestMethod1()-Methode vor:

    1. Fügen Sie die folgenden zwei Codezeilen vor dem Aufruf der AddTwoNumbers-Methode hinzu, um Werte für die hinzuzufügenden Zahlen bereitzustellen.

      this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
          TestContext.DataRow["Input1"].ToString();
      this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
          TestContext.DataRow["Input2"].ToString();
      
    2. Fügen Sie die folgende Codezeile vor dem Aufruf der AssertforAdd-Methode hinzu, um den Wert für die Assert-Methode bereitzustellen:

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

      Die Methode für den Test der codierten UI sollte wie folgt aussehen, wenn ihr die Parameter und die Datenquelle hinzugefügt wurden:

      [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. Speichern Sie die Änderungen in der Quellcodedatei CodedUITest1.cs.

  8. Klicken Sie zum Ausführen des Tests der codierten UI im Fenster Testansicht mit der rechten Maustaste auf den Test der codierten UI, und klicken Sie auf Auswahl ausführen.

    Nachdem die Tests ausgeführt wurden, wird das Gesamttestergebnis für alle Iterationen des Tests im Fenster Testergebnisse angezeigt. Um die Details für die einzelnen Iterationen anzuzeigen, doppelklicken Sie im Fenster Testergebnisse auf den Test.

Siehe auch

Aufgaben

Gewusst wie: Erstellen eines Tests für codierte UI

Referenz

UIMap

Assert

Konzepte

Gewusst wie: Erstellen eines datengesteuerten Komponententests

Testen der Benutzeroberfläche mit automatisierten UI-Tests

Empfohlene Vorgehensweisen für Tests der codierten UI

Unterstützte Konfigurationen und Plattformen für Tests der codierten UI und Aktionsaufzeichnungen