Co je popisné programování?
Popisné programování se používá k provádění operací s objektem v AUT, jehož definice není uložena v úložišti objektů. Pomocí tohoto mechanismu můžete obejít identifikaci z úložiště objektů a zadat popis objektu v samotném příkazu.
Název objektu se jednoduše používá k mapování objektu ve skriptu s jeho popisem v úložišti objektů. To znamená, že pokud ve skriptu a úložišti objektů změníte název objektu, měl by se skript spustit. Podívejte se na následující video o tomto konceptu
Pokud video není přístupné, klikněte sem
Hlavní vlastnosti videa
- Odstraňte popis objektu z editačního pole Název agenta Win z úložiště objektů. Pokud test spustíte znovu, nezdaří se mu to, protože objekt nemůže rozpoznat. Podívejme se na důvod, proč skript selhává
- Během doby běhu identifikuje Micro Focus UFT operaci prováděnou v poli WinEdit a popis objektu v úložišti objektů je uložen jako název agenta. Tento název používá ke sledování objektu v úložišti objektů. Pro rodiče nemůžete mít dva podřízené objekty se stejným názvem. QTP tedy jednoznačně mapuje objekt v úložišti. Poté použije uložený popis v úložišti objektů a nahradí název popisem. Poté použije toto prohlášení k identifikaci objektu v aplikaci pod test / li>
- Protože v našem případě jsme tento popis objektu úplně smazali, skript selhal / li>
- Ale co když místo nahrazení popisu objektu QTP jako tester přímo zadáte popisy objektů ve vašem skriptu. To není nic jiného než „popisné programování“
Typy popisného programování
Popisné programování můžete použít dvěma způsoby
- Statický
- Dynamický
Statické popisné programování
Ve statické metodě pro identifikaci objektu zadáte vlastnost objektu v následujícím formátu
vlastnost: = hodnoty,
Tento formát se nazývá dvojice hodnota vlastnosti a je uzavřen v obrácených čárkách>
Pokud váš objekt používá k identifikaci více popisů, můžete je určit pomocí čárky >
V našem případě tedy bude popis názvu agenta
"nativeclass: = Edit", "přiložený text: = Název agenta:"
Dynamické popisné programování
Druhým způsobem provádění stejné akce je použití dynamického deskriptivního programování
V případě, že váš skript používá kandidáta popisného programovacího objektu několikrát, bude velmi únavné specifikovat všechny páry hodnot vlastností pro každý příkaz
V takových případech můžete využít třídu popisu poskytovanou QTP
Syntaxe pro vytvoření popisného objektu je
Nastavit MyDescription = Description.Create ();MyDescription ("vlastnost"). Hodnota = "hodnota vlastnosti";
Toto je dynamická metoda
Proč používat popisné programování?
Přepis videa
- Otázka v milionech dolarů je důvod, proč používat DP, když je proces identifikace objektu zpracován QTP
- Předpokládejme, že jste přiřazeni k testování portálu úloh. Do portálu zadáte vyhledávací dotaz a
- váš test očekává, že vyberete všechny dostupné úlohy. a klikněte na použít úlohu
- Počet odražených úloh však bude záviset na vyhledávacím dotazu a úlohách dostupných v době provádění skriptu, ale neexistuje způsob, jak předem předpovědět počet úloh, které by se odrážely
- V takových případech můžete použít popisné programování. I když neznáte počet a názvy zaškrtávacích polí, znáte třídu pro objekty jako „WebCheckBox“
- Metodu ChildObject můžete použít k vrácení objektů patřících konkrétnímu rodiči
- Řádek kódu jako -
Set allObjects = Browser ("Jobs"). Page ("QTP"). ChildObjects ()
- Vrátí všechny podřízené objekty pro tuto stránku.
- Chceme však pouze objekty WebCheckBox. K tomu můžeme vytvořit objekt pro vytvoření filtru a nastavit jeho vlastnost jako web a předat tento filtr jako argument pro metodu ChildObjects
- V takovém případě se vrátí pouze zaškrtávací políčka.
- Dále můžete napsat takový kód, který zpřístupní celou kolekci zaškrtávacích políček od nuly a nastaví všechna zaškrtávací políčka na ZAPNUTO.
- Poté můžete test dokončit kliknutím na tlačítko Použít
- Deskriptivní programování můžete také použít ke spuštění objektů, které se obtížně zaznamenávají, jako jsou panely automatického skrytí, objekty se měnícími se hierarchiemi, vnořené vnitřní objekty, dílčí nabídky.
- Pomocí popisného programování můžete také provádět pokročilé manipulace s řetězci
- Ve spojení s vlastnostmi indexu může být popisné programování velmi užitečné při identifikaci obtížných objektů.
- Pokud použijete programový popis pro objekt v hierarchii objektů, budete muset použít programování popisu pro následující podřízené objekty
- Například pro objekt stránky bylo použito popisné programování, ale pro následný podřízený objekt je použito úložiště objektů WinEdit, což je nesprávné
- Naopak zde se pro stránky i WinEdit používá popisné programování, které je správné