Sdílet prostřednictvím


Testování velké aplikace pomocí uživatelského rozhraní pro více map

Toto téma popisuje, jak používat testy kódované uživatelského rozhraní při testování velké aplikace s použitím více map uživatelského rozhraní.

Požadavky

  • Visual Studio Ultimate, Visual Studio Premium

Při vytváření nové kódované UI test Visual Studio testování framework generuje kód pro zkoušku ve výchozím nastavení UIMap třídy.Další informace o postupu zaznamenávání kódované testy uživatelského rozhraní, naleznete v Vytváření kódované testy uživatelského rozhraní a Anatomie Test kódované uživatelského rozhraní.

Generovaný kód pro mapování uživatelského rozhraní obsahuje třídy pro každý objekt, který test spolupracuje s.Pro každou metodu generované třídy pomocníka pro parametry metody generováno konkrétně pro danou metodu.Je-li velký počet objektů, stránky, formuláře a ovládací prvky ve vaší aplikaci, může dosáhnout velmi velké mapování uživatelského rozhraní.Také je-li několik osob, které pracují na testy, aplikace nepraktický s jeden velký soubor mapování uživatelského rozhraní.

Použití více souborů mapování uživatelského rozhraní poskytují následující výhody:

  • Každé mapování může být přidružen k logické podskupinu aplikace.To usnadňuje změny ke správě.

  • Každý tester můžete pracovat na část aplikace a zkontrolovat jejich kód bez ovlivnění jiných testeři práci na jiných částech aplikace.

  • Doplňky aplikace uživatelského rozhraní může být použito postupně s minimálním účinkem na testy pro ostatní části uživatelského rozhraní.

Je třeba více map uživatelského rozhraní?

Vytvoření více map uživatelského rozhraní v každém z těchto typech situací:

  • Několik sad složitých prvků složených ovládacích prvků uživatelského rozhraní, které společně provádět logické operace, například registrační stránku na webu nebo stránky nákupní nákupního košíku.

  • Nezávislého nastavení ovládacích prvků, které jsou přístupné z různých místech aplikace, jako je například Průvodce s několika stránkami operací.V případě, že každá stránka průvodce je obzvláště složité, můžete vytvořit samostatné mapování uživatelského rozhraní pro každou stránku.

Přidání mapování více uživatelského rozhraní

Chcete-li přidat mapování uživatelského rozhraní do projektu knihovny kódované uživatelského rozhraní

  1. V Průzkumníku, chcete-li vytvořit složku v kódované testu projektu uživatelského rozhraní pro ukládání všech map uživatelského rozhraní, klepněte pravým tlačítkem myši kódované UI testovacího souboru projektu, přejděte na příkaz Přidat a pak zvolte Nová složka.Například je může pojmenovat UIMaps.

    Nová složka se zobrazí pod kódované projekt testů uživatelského rozhraní.

  2. Klepněte pravým tlačítkem myši UIMaps složku, přejděte na příkaz Přidata pak zvolte Nová položka.

    Zobrazí se dialogové okno Přidat novou položku.

    [!POZNÁMKA]

    Musí být v kódované projekt testů uživatelského rozhraní přidat nové mapování kódované test uživatelského rozhraní.

  3. Vyberte Kódované mapování uživatelského rozhraní Test ze seznamu.

    V název zadejte název nového mapování uživatelského rozhraní.Použít název součásti nebo stránku, která představuje mapování, například HomePageMap.

  4. Zvolte možnost Přidat.

    Visual Studio Minimalizuje okno a Kódované Tvůrce testu UI zobrazí dialogové okno.

  5. Záznam akcí pro první metoda a zvolte Generovat kód.

  6. Po zaznamenávány všechny akce a výrazy pro první komponenta nebo stránky a seskupit je do metody Zavřít Kódované Tvůrce testu UI dialogové okno.

  7. Dále vytvořte mapování uživatelského rozhraní.Zaznamenat akce a tvrzení, seskupit je do metod pro každou komponentu a potom generování kódu.

V mnoha případech okno nejvyšší úrovně aplikace konstantní průvodců, formuláře a stránky.Ačkoli každé mapování uživatelského rozhraní obsahuje třídu pro okno nejvyšší úrovně, všechny mapy jsou pravděpodobně týkající se stejné okno nejvyšší úrovně v rámci které všechny součásti aplikace spustit.Kódované UI testy hledá ovládací prvky hierarchicky shora dolů, počínaje od okno nejvyšší úrovně, tak složité aplikace může okno skutečné nejvyšší úrovně duplikovat v každé mapování uživatelského rozhraní.Okno skutečné nejvyšší úrovně je duplicitní, více změn způsobíte, je-li okno změní.To může způsobit potíže s výkonem při přepínání mezi mapování uživatelského rozhraní.

Chcete-li tento důsledek můžete CopyFrom() metodu, chcete-li zajistit, aby nové okno nejvyšší úrovně v tom, že mapování uživatelského rozhraní je stejné jako hlavní okno nejvyšší úrovně.

Příklad

Následující příklad je součástí nástroje třídu, která poskytuje přístup k jednotlivé komponenty a jejich podřízené ovládací prvky, které jsou reprezentovány třídy vygenerované v různých mapách uživatelského rozhraní.

Například webová aplikace s názvem Contoso má Domovská stránka, stránka produktu a stránku nákupního košíku.Každý z těchto stránek sdílet společné okno nejvyšší úrovně, což je okno prohlížeče.Existuje mapování uživatelského rozhraní pro každou stránku a třída nástroj má kód podobný následujícímu:

using ContosoProject.UIMaps;
using ContosoProject.UIMaps.HomePageClasses;
using ContosoProject.UIMaps.ProductPageClasses;
using ContosoProject.UIMaps.ShoppingCartClasses;

namespace ContosoProject
{
    public class TestRunUtility
    {
        // Private fields for the properties
        private HomePage homePage = null;
        private ProductPage productPage = null;
        private ShoppingCart shoppingCart = null;

        public TestRunUtility()
        {
            homePage = new HomePage();
        }

        // Properties that get each UI Map
        public HomePage HomePage
        {
            get { return homePage; }
            set { homePage = value; }
        }

        // Gets the ProductPage from the ProductPageMap.
        public ProductPage ProductPageObject
        {
            get
            {
                if (productPage == null)
                {
                    // Instantiate a new page from the UI Map classes
                    productPage = new ProductPage();

                    // Since the Product Page and Home Page both use
                    // the same browser page as the top level window,
                    // get the top level window properties from the
                    // Home Page.
                    productPage.UIContosoFinalizeWindow.CopyFrom(
                        HomePage.UIContosoWindowsIWindow);
                }
                return productPage;
            }
        }

    // Continue to create properties for each page, getting the 
    // page object from the corresponding UI Map and copying the 
    // top level window properties from the Home Page.
}

Viz také

Referenční dokumentace

UIMap

CopyFrom

Koncepty

Ověřování kódu pomocí programových testů uživatelského rozhraní

Anatomie Test kódované uživatelského rozhraní

Další zdroje

Vytváření kódované testy uživatelského rozhraní