Zajištění čekání programových testů UI na konkrétní události při přehrávání
V kódované přehrávání testovací uživatelské rozhraní můžete určit, aby test čekání na určité k událostem, jako je například okno se zobrazí indikátor průběhu zmizí a tak dále.Chcete-li to provést, použijte příslušnou metodu UITestControl.WaitForControlXXX() jak je popsáno v následující tabulce.Příklad kódované test uživatelského rozhraní, který čeká na ovládací prvek, který je povoleno použití WaitForControlEnabled metoda, viz Návod: Vytváření, upravování a údržba programového testu UI.
Požadavky
- Visual Studio Ultimate, Visual Studio Premium
Tip
Můžete také přidat zpoždění před akcí pomocí editoru kódované Test uživatelského rozhraní.Další informace naleznete v tématu Postupy: Vložení prodlevy před akci uživatelského rozhraní pomocí editoru programových testů UI.
Metody UITestControl.WaitForControlXXX()
Metody UITestControl.WaitForControlXXX() |
Description |
---|---|
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlReady ] |
Čeká se na ovládací prvek přijímá myši a klávesnice.Motor implicitně volá toto rozhraní API pro všechny akce čekání na ovládací prvek bude připraven před provedením jakékoli operace.Však v některých esoterických situaci, budete muset provést explicitní volání konstruktoru. |
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlEnabled ] |
Čeká se na prvek a povolit v případě, že Průvodce dělá některé asynchronní ověření vstupních tím, že volání na server.Například můžete metodu čekat Další tlačítko Průvodce je (povoleno).Příklad této metody naleznete v tématu Návod: Vytváření, upravování a údržba programového testu UI. |
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlExist ] |
Čeká se na ovládací prvek zobrazen v uživatelském rozhraní.Dialogové okno chyby například očekáváte po aplikaci provedl ověření parametrů.Čas potřebný pro ověření je proměnná.Tímto způsobem lze čekat v dialogovém okně chyby. |
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlNotExist ] |
Čeká se na ovládací prvek zmizí z uživatelského rozhraní.Například může čekat indikátor průběhu zmizí. |
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlPropertyEqual(System.String,System.Object) ] |
Zadaná vlastnost ovládacího prvku pro danou hodnotu čeká.Například čekat stav textu změnit na v. |
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlPropertyNotEqual(System.String,System.Object) ] |
Zadaná vlastnost ovládacího prvku mají opačnou hodnotu stanovenou čeká.Například počkat textové pole se jen pro čtení, který je upravovat. |
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlCondition(System.Predicate{Microsoft.VisualStudio.TestTools.UITesting.UITestControl}) ] |
Čeká pro zadaný predikát vrací se true.To lze použít pro čekání složité operace (stejně jako podmínky OR) na daný ovládací prvek.Například můžete počkat, dokud se text na stavovém byl úspěšný nebo se nezdařilo jak je ukázáno v následujícím kódu:
|
[ M:Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForCondition``1(``0,System.Predicate{``0}) ] |
Všechny předchozí metody jsou metody instance UITestControl.Tato metoda je statická metoda.Tato metoda také čeká zadaný predikát se true , ale může sloužit pro operaci složité čekání (stejně jako podmínky OR) na více ovládacích prvků.Například můžete počkat, dokud text stav je byl úspěšný nebo dokud se nezobrazí chybová zpráva, jak je znázorněno v následujícím kódu:
|
Tyto metody mají po chování:
Metody vrátí hodnotu true, pokud je úspěšná a hodnotu false v případě, že čekání se nezdařilo.
Implicitní časový limit operace čekání je určen WaitForReadyTimeout vlastnost.Výchozí hodnota této vlastnosti je 60 000 milisekund (jednu minutu).
Metody má přetížení, chcete-li provést explicitní časový limit v milisekundách.Však při operaci wait má za následek implicitního hledání pro ovládací prvek, nebo v případě, že aplikace je zaneprázdněna, skutečné čekací doba může být větší než zadaný časový limit.
Předchozí funkce jsou výkonné a pružné a musí splňovat podmínky téměř všechny.Však v případě těchto metod nevyhovují vašim potřebám, a budete muset buď kód Wait, nebo Sleep ve vašem kódu je doporučeno používat Playback.Wait() namísto Thread.Sleep() API.Důvody pro to jsou:
Můžete použít ThinkTimeMultipliervlastnost, kterou chcete upravit dobu trvání spánku.Ve výchozím nastavení tato proměnná je 1 ale můžete zvýšit nebo snížit dobu čekání po celém kód změnit.Například pokud testujete konkrétně přes pomalé síťové nebo jiném případu pomalý výkon, můžete změnit tuto proměnnou na jednom místě (nebo dokonce v konfiguračním souboru) 1.5, přidat 50 % navíc čekat na všech místech.
Playback.Wait() interně volá Thread.Sleep() (po výše výpočtu) v menší bloky v pro smyčky při kontrole uživatelských cancel\break operace.Jinými slovy Playback.Wait() umožňuje zrušit přehrávání před skončením čekat, že režim spánku může není nebo vyvolat výjimku.
Tip
Editor kódované testovací uživatelské rozhraní umožňuje snadno změnit kódované testy uživatelského rozhraní.Pomocí editoru testovat UI kódované, může vyhledání, zobrazení a úprava zkušební metody.Můžete také upravit akce uživatelského rozhraní a jejich přidružené ovládací prvky v rozvržení ovládacího prvku uživatelského rozhraní.Další informace naleznete v tématu Úpravy programových testů uživatelského rozhraní pomocí Editoru programových testů uživatelského rozhraní.
Pokyny
Další informace naleznete v tématu Testování pro nepřetržité dodávky s Visual Studio 2012 – kapitola 5: automatizace testů systému
Viz také
Úkoly
Návod: Vytváření, upravování a údržba programového testu UI
Postupy: Vložení prodlevy před akci uživatelského rozhraní pomocí editoru programových testů UI
Koncepty
Ověřování kódu pomocí automatizace uživatelského rozhraní
Anatomie programového testu UI
Podporované konfigurace a platformy pro programové testy uživatelského rozhraní a zaznamenávání akcí