QTP Tutorial #18-Data Driven and Hybrid Frameworks Explained with QTP Examples
pracujeme na tom, jak odvodit rámec automatizace, který nejlépe funguje pro určitý testovací projekt, a také definovat určité rámce, které již existují.
příkladem, který jsme použili v předchozím článku QTP framework, bylo vytvoření nového účtu Gmail.
Nejprve jsme kódovali vytvoření nového scénáře účtu pouhým nahráváním a přehráváním lineárním způsobem. Když jsme viděli, jak moc chybí modularita, čitelnost a opakovatelnost, rozdělili jsme to na funkce, které by byly označovány jako klíčová slova vpřed.
=> Klikněte zde pro řadu výukových programů QTP
pomocí této metody jsme dosáhli modularity, čitelnosti a znovu použitelnosti, ale potřebovali jsme, aby byl program ještě robustnější, aby mohl přijímat různé sady hodnot, aniž by musel upravovat samotný skript.
to je přesně to, čeho dosáhneme datovými testy.
rámec automatizace řízený daty pomocí QTP
vytvoření více uživatelských účtů Google je úkol, který se pokusíme splnit pomocí tohoto rámce.
v předchozím příkladu jsme napevno zakódovali jméno, příjmení, údaje o id uživatele atd. do našeho kódu při pokusu o vytvoření účtu. Budeme muset oddělit kód od dat, pokud musíme dosáhnout aspektu řízení dat pro tento skript.
data by měla pocházet ze zdroje, který není samotným programem.
typicky vstup dat může být cokoliv:
- soubory MS Excel
- databáze
- textové soubory
- XML soubory….atd.
soubory Excel jsou ty, které se používají nejčastěji. Samotná skutečnost, že každá akce v QTP je integrována s vlastním datovým listem, vysvětluje, proč tomu tak je.
můžete použít jeden nebo více zdrojů dat pro jeden skript. List aplikace excel, který je dodáván s akcí, lze použít nebo můžete použít také externí list aplikace excel. Datový list může být v zásadě jakýkoli relevantní externí soubor.
například,
zde je kód, který potřebujeme k datové jednotce:
Browser("Gmail: Email from Google").Page("GoogleAccounts").WebEdit("FirstName").Set "swati"Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set "s"Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set "test"
všechna data jsou nyní pevně zakódována. Podívejme se nyní, jak můžeme tyto hodnoty vzít z evidence.
přejděte do zobrazení expert pro příkaz v QTP a klikněte na sloupec hodnota pro krok.
otevře se následující okno:
vyberte parametr, vyberte název parametru (toto bude název sloupce v datovém listu) a zvolte, zda chcete použít globální list nebo místní list (Globální list je k dispozici pro všechny akce v testu, ale místní list je specifický pro aktuální akci).
pro pole „Název“ na obrazovce poskytuje QTP výchozí hodnotu. Uživatel má možnost ponechat to stejné nebo jej změnit.
po kliknutí na tlačítko OK se v datové tabulce vytvoří nový sloupec.
takto vypadá datasheet, který obsahuje 3 sady křestního jména, příjmení a id účtu:
po parametrizaci vypadá kód, jak je uvedeno níže:
Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("FirstName").Set DataTable("G_First_Name", dtGlobalSheet)Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set DataTable("G_Last_Name", dtGlobalSheet)Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set DataTable("gmail_address", dtGlobalSheet)
pokud musíme vytvořit tyto 3 uživatelské ID s daty v listu, musíme mít 3 iterace. Iterace není nic jiného než testovací běh.
jakmile jsou data nastavena, budeme muset instruovat QTP, kolikrát je třeba tento kód spustit nebo kolik iterací.
uděláme to takto: Přejděte do souboru – > nastavení a spusťte
na výše uvedené obrazovce nastavte vlastnosti iterace podle potřeby.
střídavě můžete QTP instruovat o iteracích programově. Jako vždy to umožňuje větší kontrolu i programovací dovednosti. Je tedy opravdu na úrovni komfortu testeru, aby si vybral některou z těchto metod.
komponenty datově řízeného rámce jsou:
- testovací skript
- datové soubory
- sdílená funkční knihovna (pokud existuje nebo může být lineární program).
- repozitář objektů (opět tato komponenta nebude existovat, pokud bylo pro vytváření objektů použito popisné programování).
výsledky testů zobrazí stav „prošel“ nebo „selhal“pro každý test.
kromě datové tabulky, která je ve výchozím nastavení dodávána, můžeme jako vstupní list použít jakýkoli externí soubor aplikace excel.
Hybrid Framework
ve výše uvedeném příkladu jste použili klíčová slova (názvy funkcí, které uživatel vytvořil) a nechali jste test řídit daty, abyste se ujistili, že jsou současně vytvářeni různí uživatelé. To není nic jiného než hybridní rámec.
kombinace dvou nebo více rámců, o kterých jsme dosud diskutovali, je hybridní rámec. Podle mých zkušeností žádný rámec nefunguje efektivně pro určitý projekt. Hybridní rámec je to, co se používá nejčastěji.
několik důležitých bodů o rámcích:
- rámec je jen řešení, které fungovalo nejlépe v určité situaci, ale nemělo by být vykládáno jako soubor pravidel, která je třeba rozhodně dodržovat. Mělo by to být vnímáno spíše jako pokyny.
- může existovat mnoho dalších rámců, které jsme uvedli a vysvětlili pouze ty běžné.
- nomenklatura-různí lidé oslovují své rámce různými jmény. Takže pokud se názvy mírně liší od jedné aplikace k druhé, pak je to normální.
- většina rámců může být použita ve vzájemném spojení, Pokud některý z nich nemůže poskytnout všestranné řešení vašich testovacích cílů.
závěr
pro snadné pochopení jsme zde opravdu zjednodušili koncepty rámce.
pokud máte nějaké problémy související s rámcem, kterým čelíte, ale nejsou zahrnuty v těchto článcích, dejte nám vědět. Určitě se pokusíme odpovědět na vaše dotazy. Neváhejte a psát své dotazy.
=> Navštivte zde pro QTP školení tutoriály série
Poslední aktualizace: listopad 29, 2021