qtp tutorial 18 data driven
Pracujeme na tom, abychom zjistili, jak odvodit na Automatizační rámec který funguje nejlépe pro určitý testovací projekt a také definuje určité rámce, které již existují.
Příklad, který jsme použili v předchozí článek o QTP rámci vytvářel nový účet Gmail.
Nejprve jsme kódovali vytváření nového scénáře účtu pouhým lineárním nahráváním a přehráváním. Když jsme viděli, jak mu chybí modularita, čitelnost a opakovaná použitelnost, rozdělili jsme to na funkce, na které by se odkazovalo jako na klíčová slova pohybující se vpřed.
=> Klepnutím sem zobrazíte sérii výukových programů QTP
Prostřednictvím této metody jsme dosáhli modularity, čitelnosti a opětovné použitelnosti, ale potřebovali jsme udělat program ještě robustnějším, aby mohl přijímat různé sady hodnot, aniž by bylo nutné upravovat samotný skript.
Toho je přesně to, čeho dosáhneme daty pohánějícími testy.
Co se naučíte:
Data-Driven Automation Framework using QTP
Vytvoření více uživatelských účtů Google je úkol, který se pokusíme dosáhnout pomocí tohoto rámce.
V předchozím příkladu jsme napevno zakódovali křestní jméno, příjmení, podrobnosti 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 pro tento skript musíme dosáhnout aspektu řízení dat.
Data by měla pocházet ze zdroje, který není samotným programem.
Datový vstup může být obvykle cokoli:
- Soubory MS Excel
- Databáze
- Textové soubory
- Soubory XML… atd.
Nejčastěji se používají soubory Excel. Skutečnost, že každá akce v QTP je integrována s vlastním datovým listem, vysvětluje, proč tomu tak je.
jaký je rozdíl mezi sql a sql serverem
Pro jeden skript můžete použít jeden nebo více zdrojů dat. Lze použít list aplikace Excel, který je součástí akce, nebo můžete použít také externí list aplikace Excel. Datovým listem může být v zásadě jakýkoli relevantní externí soubor.
Například,
Toto 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, jak můžeme tyto hodnoty převzít z datového listu.
Přejděte do expertního pohledu na výpis v QTP a u kroku klikněte na sloupec hodnoty. Otevře se následující okno:
Vyberte možnost parametru, vyberte název parametru (v datovém listu to bude název sloupce) a vyberte, zda budete používat 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 zachovat to stejné nebo jej změnit.
Po kliknutí na 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 takto:
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 tato 3 ID uživatelů s údaji v listech, musíme mít 3 iterace. Iterace není nic jiného než zkušební provoz.
Jakmile jsou data nastavena, budeme muset instruovat QTP, kolikrát je třeba tento kód spustit, nebo kolik iterací.
Takto to děláme: Přejít na Soubor-> Nastavení a Spustit (kliknutím obrázek zvětšíte)
nejlepší zdarma DVD Ripper pro Mac
Na výše uvedené obrazovce nastavte vlastnosti iterace podle potřeby.
Alternativně můžete programově instruovat QTP o iteracích. Jako vždy to umožňuje větší kontrolu a také více programovacích dovedností. Je tedy opravdu na úrovni pohodlí testeru, aby si vybral kteroukoli z těchto metod.
Komponenty v rámci řízeném daty jsou:
- Testovací skript
- Datové soubory
- Sdílená funkční knihovna (pokud existuje nebo může být lineárním programem)
- Úložiště objektů (tato komponenta opět nebude existovat, pokud bylo k vytvoření objektů použito popisné programování)
Výsledky testu budou pro každý test zobrazovat stav „Úspěšně“ nebo „Neúspěšně“.
Kromě datové tabulky, která je dodávána ve výchozím nastavení, můžeme jako vstupní list použít jakýkoli externí soubor aplikace Excel.
Hybridní rámec
Ve výše uvedeném příkladu jste použili klíčová slova (názvy funkcí, které uživatel vytvořil) a nechali jste testovat pomocí dat, abyste se ujistili, že jsou současně vytvořeni různí uživatelé. Není to nic jiného než hybridní rámec.
Kombinace jakýchkoli dvou nebo více rámců, o kterých jsme dosud hovořili, je hybridní rámec.
Podle mých zkušeností žádný rámec nefunguje efektivně pro určitý projekt. Nejčastěji se používá hybridní rámec.
Několik důležitých bodů o rámcích:
- Rámec je pouze řešením, které v určité situaci fungovalo nejlépe, ale nemělo by být vykládáno jako soubor pravidel, která je třeba jednoznačně dodržovat. Mělo by to být považováno spíše za pokyny.
- Může se používat mnoho dalších rámců, pouze jsme uvedli a vysvětlili ty běžné
- Nomenklatura - Různí lidé oslovují své rámce různými jmény. Pokud se tedy názvy u jednotlivých aplikací mírně liší, je to normální.
- Většinu rámců lze použít ve vzájemném spojení, když žádný z nich nemůže poskytnout komplexní řešení vašich testovacích cílů.
Závěr
Kvůli snadnému pochopení jsme zde koncepty rámce skutečně zjednodušili. Pokud máte nějaké problémy související s rámcem, kterým čelíte a které nejsou uvedeny v těchto článcích, dejte nám vědět. Rozhodně se pokusíme odpovědět na vaše otázky. Neváhejte a pošlete své dotazy.
=> Navštivte zde sérii školení QTP Training Tutorials
Doporučené čtení
- Rámečky QTP - Rámečky automatizace testů - Příklady klíčových slov a lineární rámce - Výukový program QTP # 17
- Jak funguje testování založené na datech (příklady QTP a selenu)
- Rámec řízený daty v selenu WebDriver pomocí POI Apache
- Testování na základě dat nebo parametrizace pomocí Spock Framework
- Jak provádět testování na základě dat pomocí nástroje TestComplete
- Výukové programy QTP - 25+ výcvikových kurzů pro rychlé testování profesionálů s rychlým testem (QTP)
- Těžba dat: Proces, techniky a hlavní problémy v analýze dat
- Parametrizace v QTP vysvětlena příklady (část 1) - Výukový program QTP # 19