Sdílet prostřednictvím


Vytvoření datově řízeného programového testu UI

Pokud chcete vyzkoušet různé podmínky, je možné spustit vaše testy vícekrát s jinými hodnotami parametru.Založený na datech uživatelského rozhraní programové testy jsou pohodlný způsob, jak to provést.Definujte hodnoty parametrů ve zdroji dat a každý řádek ve zdroji dat je iterace programové testy uživatelského rozhraní.Celkový výsledek testu budou založeny na výsledek pro všechna opakování.Například pokud jedna iterace test nezdaří, celkového výsledek testu je chyba.

Požadavky

  • Visual Studio Ultimate, Visual Studio Premium

Vytvořte test založený na datech programové uživatelského rozhraní

Tato ukázka vytvoří programové testy uživatelského rozhraní, která se spouští na základě žádosti kalkulačky systému Windows.Přidá dvě čísla společně a používá kontrolní výraz k ověření, zda součet je správný.V dalším kroku kontrolní výraz a hodnoty parametrů pro dvě čísla jsou kódován tak, aby se stanou založený na datech a uložené v souboru s oddělovači (CSV).

Krok 1 – vytvořit programové testy uživatelského rozhraní

  1. Vytvořte projekt.

    Vytvořte projekt programové testování uživatelského rozhraní

  2. Zvolte k zaznamenání akce.

    Zvolte k zaznamenání akce

  3. Otevřete aplikaci kalkulačky a začít zaznamenávat test.

    Záznam akcí

  4. Přidat 1 plus 2, pozastavit záznam a generovat zkušební metody.Později jsme budete nahradit hodnoty tímto vstupem uživatele s hodnotami z datového souboru.

    Genetate zkušební metody

    Zavřete okno Tvůrce test.Metoda je přidána k zkoušky:

            [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.AddNumbers();
    
            }
    
  5. Použití AddNumbers() metodu k ověření, že test běží.Umístěte kurzor do výše uvedená metoda test, otevřete místní nabídku a zvolte spouštět testy.(Klávesovou zkratku: Ctrl + R, T).

    Výsledek testu, který se zobrazuje, pokud je test úspěšný nebo neúspěšný zobrazeny v okně Průzkumníka testů.Otevřete okno Průzkumníka testů z TEST nabídce zvolte Windows a poté zvolte možnost Průzkumníka testů.

  6. Vzhledem k tomu, že zdroj dat lze také použít pro hodnoty parametru assertion – test které jsou používány k ověření očekávané hodnoty – přidáte kontrolní výrazy k ověření, zda je správný součet dvou čísel.Umístěte ukazatel myši v výše uvedená metoda test, otevřete místní nabídku a zvolte možnost generování kódu pro programové testování uživatelského rozhraní, a potom použití programových uživatelského rozhraní testování Tvůrce.

    Namapujte ovládací prvek text v programu Kalkulačka, který zobrazuje součet.

    Mapa ovládací prvek text uživatelského rozhraní

  7. Přidáte assertion, která ověřuje, že hodnota součtu je správný.Zvolte zobrazenýtext vlastnost, která má hodnotu 3 a poté zvolte možnost Přidat Assertion.Použití AreEqual porovnání a ověřte, zda je zadaná hodnota porovnání 3.

    Konfigurovat výraz

  8. Po dokončení konfigurace element assertion, generování kódu z Tvůrce znovu.Vytvoří novou metodu pro ověřování.

    Generovat metodu výraz

    Vzhledem k tomu ValidateSum Metoda ověří výsledky AddNumbers v případě metody přesunout na konec bloku kódu.

            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.AddNumbers();
                this.UIMap.ValidateSum();
    
            }
    
  9. Ověřte, že test běží pomocí ValidateSum() metody.Umístěte kurzor do výše uvedená metoda test, otevřete místní nabídku a zvolte spouštět testy.(Klávesnice zástupce: Ctrl + R, T).

    V tomto okamžiku všechny hodnoty parametrů jsou definovány v jejich metody jako konstanty.Dále vytvoříte sadu dat aby testovacím založený na datech.

Krok 2 – Vytvoření sady dat

  1. Přidat do textového souboru do projektu dataDrivenSample s názvem data.csv.

    Do projektu přidat soubor oddělený čárkami

  2. Naplňte soubor CSV obsahující následující údaje:

    Num1

    Num2

    Součet

    3

    4

    7

    5

    6

    11

    6

    8

    14

    Po přidání dat, by měl soubor zobrazen následujícím způsobem:

    Naplnit.Soubor CSV s daty

  3. Je důležité pro uložení souboru CSV pomocí správné kódování.Na soubor nabídce zvolte Rozšířené možnosti ukládání a zvolte možnost Unicode (UTF-8 bez podpisu) – znakové stránky 65001 jako kódování.

  4. Soubor CSV, musí být zkopírován do výstupního adresáře nebo test nelze spustit.Okno Vlastnosti použijte jej zkopírujte.

    Nasazení.Souboru CSV

    Teď, když máme v datové sadě vytvořen, podíváme svázat s daty v testu.

Krok 3-přidat vazbu zdroje dat

  1. Chcete-li vytvořit vazbu zdroj dat, přidejte DataSource atribut v rámci existující [TestMethod] atribut, který je bezprostředně nad zkušební metody.

            [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\data.csv", "data#csv", DataAccessMethod.Sequential), DeploymentItem("data.csv"), 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.AddNumbers();
                this.UIMap.ValidateSum();
    
            }
    

    Zdroj dat je nyní k dispozici pro použití v této zkušební metody.

    Tip

    Podívejte se na téma zdroje dat atribut ukázky v odpověďmi část pro ukázky pomocí jiné typy zdrojů dat, jako je například formáty XML, SQL Express a aplikace Excel.

  2. Spusťte test.

    Všimněte si, že test bude spuštěna až tři iterací.Toto je, protože zdroj dat, která byla vázána obsahuje tři řádky dat.Však také zjistíte, aby test je stále pomocí hodnoty parametru konstantní a přidání 1 + 2 s součtem 3 pokaždé, když.

    Poté jsme budete nakonfigurujte test, který chcete použít hodnoty v souboru zdroje dat.

Krok 4 – použití data v programové testy uživatelského rozhraní

  1. Přidat using Microsoft.VisualStudio.TestTools.UITesting.WinControls k hornímu okraji CodedUITest.cs souboru:

    using System;
    using System.Collections.Generic;
    using System.Text.RegularExpressions;
    using System.Windows.Input;
    using System.Windows.Forms;
    using System.Drawing;
    using Microsoft.VisualStudio.TestTools.UITesting;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using Microsoft.VisualStudio.TestTools.UITest.Extension;
    using Keyboard = Microsoft.VisualStudio.TestTools.UITesting.Keyboard;
    using Microsoft.VisualStudio.TestTools.UITesting.WinControls;
    
  2. Přidat TestContext.DataRow[] v CodedUITestMethod1() metodu, která se použije hodnoty ze zdroje dat.Hodnoty zdroje dat přepsat konstanty přiřazená ovládací prvky UIMap pomocí ovládacích prvků SearchProperties:

            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.UICalculatorWindow.UIItemWindow.UIItem1Button.SearchProperties[WinButton.PropertyNames.Name] = TestContext.DataRow["Num1"].ToString(); 
                this.UIMap.UICalculatorWindow.UIItemWindow21.UIItem2Button.SearchProperties[WinButton.PropertyNames.Name] = TestContext.DataRow["Num2"].ToString();
                this.UIMap.AddNumbers();
                this.UIMap.ValidateSumExpectedValues.UIItem2TextDisplayText = TestContext.DataRow["Sum"].ToString();
                this.UIMap.ValidateSum();
    
            }
    

    Zjistěte, ve které vyhledávání vlastnosti ke kódování dat k použití editoru programové testování uživatelského rozhraní.

    • Otevřete soubor UIMap.uitest.

      Otevřete Editor Test programové uživatelského rozhraní

    • Zvolte akci uživatelského rozhraní a sledujte odpovídající mapování ovládací prvek uživatelského rozhraní.Všimněte si, jak mapování odpovídá kódu, například this.UIMap.UICalculatorWindow.UIItemWindow.UIItem1Button.

      Použití editoru programové testování uživatelského rozhraní pro pomoc s kódem

    • V okně Vlastnosti otevřete Vlastnosti hledání.Vlastnosti hledání název co je právě s nimi manipulovat v kódu pomocí zdroje dat je hodnota.Můžete například SearchProperties je přiřazen hodnoty ve sloupci první každý řádek dat: UIItem1Button.SearchProperties[WinButton.PropertyNames.Name] = TestContext.DataRow["Num1"].ToString();.Pro tři iterace tento test se změní název hodnota pro vlastnost vyhledávání na 3, pak 5 a nakonec 6.

      Pomocí vlastnosti hledání jako pomůcku při psaní kódu

  3. Uložte řešení.

Krok 5 – spuštění testu založené na datech

  • Ověřte, zda test je nyní založený na datech opětovným spuštěním test.

    Měli byste vidět testu až tři iterace pomocí hodnot v souboru CSV.Ověření by měly fungovat stejně a test by měl zobrazit jako předaný Průzkumníka testů.

Doprovodné materiály

Další informace naleznete v tématu testování průběžně odesílané pomocí sady Visual Studio 2012 – kapitola 2: testování částí: testování uvnitř a testování průběžně odesílané pomocí sady Visual Studio 2012 – kapitola 5: automatizace testů systému

Dotazy a odpovědi

Co jsou atributy zdroje dat pro další typy zdrojů dat, například SQL Express nebo XML?

Řetězce zdroje dat ukázky můžete použít v následující tabulce tak, že zkopírujete do kódu a potřebné vlastní úpravy.

Typ zdroje datum

Atributu datového zdroje

CSV

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\data.csv", "data#csv", DataAccessMethod.Sequential), DeploymentItem("data.csv"), TestMethod]

Excel

DataSource("System.Data.Odbc", "Dsn=ExcelFiles;Driver={Microsoft Excel Driver (*.xls)};dbq=|DataDirectory|\\Data.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), DeploymentItem("Sheet1.xls"), TestMethod]

Testovacích případů v sadě 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]

D: lze používat založený na datech testy na aplikace pro Windows Phone?

O: Ano.Založený na datech rozhraní programových testů pro Windows Phone jsou definovány pomocí atributu DataRow na zkušební metody.V následujícím příkladu, x a y pomocí hodnoty 1 a 2 pro první iteraci a -1 a -2 pro druhý iteraci testu.

[DataRow(1, 2, DisplayName = "Add positive numbers")]
[DataRow(-1, -2, DisplayName = "Add negative numbers")]
[TestMethod]
public void DataDrivingDemo_MyTestMethod(int x, int y)

Další informace naleznete v tématu založené na datech použití programové testy uživatelského rozhraní v aplikací pro Windows Phone.

D: Proč nelze upravit kód v souboru UIMap.Designer?

O: všechny kódu změny provedené v souboru UIMapDesigner.cs budou přepsány pokaždé, když je generování kódu pomocí UIMap - programové testování Tvůrce uživatelského rozhraní.V tomto příkladu a ve většině případů změny kódu potřebná k povolení test používat zdroj dat lze provádět tento test zdrojového souboru kódu (CodedUITest1.cs).

Pokud je třeba změnit zaznamenanou metodu, musíte ji zkopírovat do souboru UIMap.cs a přejmenovat ji.Soubor UIMap.cs lze použít k přepsání metod a vlastností v souboru UIMapDesigner.cs.Je třeba odebrat odkaz na původní metodu v kódovaném souboru UITest.cs a nahradit ji názvem přejmenované metody.

Viz také

Referenční dokumentace

UIMap

Assert

Koncepty

Ověřování kódu pomocí automatizace uživatelského rozhraní

Doporučené postupy pro programové testy UI

Podporované konfigurace a platformy pro programové testy uživatelského rozhraní a zaznamenávání akcí

Další zdroje

vytváření programové testy uživatelského rozhraní