Sdílet prostřednictvím


Testování rozsáhlé aplikace s více mapami uživatelského rozhraní

Toto téma popisuje, jak používat programové testy 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

Když vytvoříte nový programové test uživatelského rozhraní, Visual Studio testovací rozhraní generuje kód pro test ve výchozím nastavení UIMap třídy.Další informace o tom, jak zaznamenat programové testy uživatelského rozhraní, naleznete v tématu vytváření programové testy uživatelského rozhraní a Anatomie programového testu UI.

Generovaný kód pro mapování uživatelského rozhraní obsahuje třídu pro každý objekt, který test spolupracuje s.Pro každou metodu generované třídy pomocníka pro parametry metody, které je vygenerován speciálně pro tuto metodu.Dojde-li velký počet objektů, stránky, formuláře a ovládací prvky ve vaší aplikaci, může růst rozsáhlou rozvržení uživatelského rozhraní.Také pokud pracuje více lidí na testy aplikace nepraktický s jeden velký soubor mapování uživatelského rozhraní.

Pomocí více souborů uživatelského rozhraní mapy můžete poskytnout následující výhody:

  • Každé mapování může být přidruženo k logické podmnožinu aplikace.Toto usnadňuje změny pro správu.

  • Každý tester může pracovat na oddíl aplikace a vrátit se změnami svůj kód bez zasahování jiných testeři pracovat na jiné části aplikace.

  • Tvorba uživatelského rozhraní aplikace je možné použít měřítko postupně s minimální vliv na testy pro jiné části uživatelského rozhraní.

Potřebujete více map uživatelského rozhraní?

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

  • Několik komplexní sady složené ovládací prvky uživatelského rozhraní, které společně provádět logické operace, například registrační stránku na webu nebo stránce Nákup nákupního košíku.

  • Nezávislou sada ovládacích prvků, které jsou dostupné prostřednictvím různých místech aplikace, jako je například Průvodce s několika stránek operací.Pokud je obzvláště složité jednotlivých stránkách průvodce, můžete vytvořit samostatné Maps uživatelského rozhraní pro každou stránku.

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

Chcete-li přidat mapu uživatelského rozhraní do projektu programové testování uživatelského rozhraní

  1. V Průzkumníka řešení, chcete-li vytvořit složku v programové projektu testování uživatelského rozhraní pro uložení všech map uživatelského rozhraní, klikněte pravým tlačítkem na soubor projektu programové testování uživatelského rozhraní, přejděte na příkaz Přidat a poté zvolte možnost novou složku.Například může název UIMaps.

    Zobrazí se nová složka v rámci projektu programové testování uživatelského rozhraní.

  2. Klikněte pravým tlačítkem myši UIMaps složku, přejděte na příkaz Přidat, a poté zvolte možnost novou položku.

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

    [!POZNÁMKA]

    Musí být v programové projekt testů uživatelského rozhraní pro přidání nové mapování programové testování uživatelského rozhraní.

  3. Vyberte Programové testování mapy uživatelského rozhraní ze seznamu.

    V název zadejte název nové mapování uživatelského rozhraní.Použít název komponenty nebo stránky, která bude reprezentovat mapě, například HomePageMap.

  4. Zvolte Přidat.

    Visual Studio Minimalizuje okna a Programové testování Tvůrce uživatelského rozhraní se zobrazí dialogové okno.

  5. Záznam akcí pro první metodu a zvolte možnost generování kódu.

  6. Po zaznamenávány všechny akce a kontrolní výrazy pro první součást nebo stránky a jejich seskupeny do metody, zavřete Programové testování Tvůrce uživatelského rozhraní dialogového okna.

  7. Pokračujte k vytvoření uživatelského rozhraní map.Záznam akcí a tvrzení, seskupit je do metody pro jednotlivé komponenty a potom generování kódu.

V řadě případů okno nejvyšší úrovně vaší aplikace konstantní pro všechny 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ě odkazující na stejné okno nejvyšší úrovně v rámci které všechny součásti aplikace spustit.Programové uživatelského rozhraní testy hledá ovládací prvky hierarchicky shora dolů, počínaje od nejvyšší úrovně okna, tak v komplexní aplikaci, může být duplicitní okna skutečnou nejvyšší úrovně v každém mapování uživatelského rozhraní.Pokud je duplicitní v okně skutečnou nejvyšší úrovně, více změn způsobí, pokud se změní toto okno.To může způsobit problémy s výkonem při přepínání mezi Maps uživatelského rozhraní.

Chcete-li minimalizovat tento efekt, můžete použít CopyFrom() Metoda 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ých komponent a jejich podřízených ovládacích prvků, které jsou zastoupeny třídy vygenerované v různých mapách uživatelského rozhraní.

V tomto příkladu webové aplikace s názvem Contoso má Domovská stránka, stránka produktu a na stránce nákupní košík.Každá z těchto stránek sdílet společné okno nejvyšší úrovně, který je v okně prohlížeče.Je mapu uživatelského rozhraní pro každou stránku a Třída utility má podobně jako následující kód:

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í automatizace uživatelského rozhraní

Anatomie programového testu UI

Další zdroje

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