Lokální a sdílené úložiště objektů v QTP/UFT

⚡ Chytré shrnutí

Úložiště objektů v QTP/UFT Jeden ukládá testovací objekty a vlastnosti, které nástroj používá k rozpoznání vaší aplikace, a dodává se ve dvou formách: lokální repozitář pro každou akci a opakovaně použitelný sdílený repozitář.

  • 🔘 Model testovacího objektu: QTP učí se vlastnosti objektu během nahrávání a porovnává je s běhovým objektem během přehrávání.
  • ☑️ Místní ve výchozím nastavení: Každá akce začíná ve svém vlastním lokálním repozitáři, uloženém jako ObjectRepository.bdb ve složce akce.
  • (Tj. Škálování sdílených repozitářů: Soubor .tsr se nachází mimo test a může být spojen s mnoha akcemi v rámci mnoha testů.
  • 🧪 Tři široké kroky: Vytvořte repozitář, přiřaďte ho k vašim akcím a poté jej upravte pomocí Správce repozitářů objektů.
  • 🛠️ Ochrana pouze pro čtení: Sdílené úložiště se ve Správci otevře pouze pro čtení, dokud nevyberete možnost Soubor > Povolit úpravy.
  • 📌 Aktuální pojmenování: QTP Nyní je OpenText Funkční testování (UFT Jeden), ale nabídky úložiště a formáty souborů zůstávají nezměněny.

Struktura lokálního a sdíleného objektového úložiště v QTP a UFT Jedna

Co je objektové úložiště v QTP?

Úložiště objektů je kolekce testovacích objektů a informací, které jsou rozpoznávány QTP pro práci na něm. Když uživatel zaznamená test, objekty a jejich vlastnosti se standardně zachytí.

Protože každý krok, který automatizujete, musí ukazovat na uložený objekt, je repozitář vrstvou, která rozhoduje o tom, zda skript bude běžet i po změně aplikace. Pochopení toho, jak se tam objekty dostávají, je na prvním místě.

Jak funguje identifikace objektů v QTP?

  • QTP používá „lidskou“ technologii pro identifikaci objektu
  • Během Záznam čas, QTP snaží se zjistit vlastnosti objektu grafického uživatelského rozhraní, na kterém je prováděna operace.
  • Během běhu, UFT Porovnává uložené vlastnosti objektu se skutečnými vlastnostmi objektu dostupnými na obrazovce a jednoznačně identifikuje objekt nezávisle na jeho umístění na obrazovce.
  • Uložený objekt spolu s jeho vlastnostmi se nazývá Testovací objekt
  • Během běhu aplikace se skutečný objekt dostupný v testované aplikaci nazývá Run-Time objekt
  • To je Rychlý test "Test objektový model"
  • Informace o testovacích objektech jsou uloženy v úložišti objektů.
  • Doplňky pomáhají tím, že QuickTest předem instruují o povaze objektu, který má být zaznamenán, a tím zkracují čas potřebný k naučení jeho vlastností.

Naučte se identifikaci objektů s příkladem v následujícím videu

klikněte zde pokud video není přístupné

Typy objektového úložiště

Existují 2 typy úložišť objektů v QTP

  1. Místní úložiště objektů
  2. Sdílené úložiště objektů

Tyto dva se liší pouze v jednom ohledu: kdo vlastní objekty. Lokální repozitář patří jedné akci, zatímco sdílený repozitář je nezávislý soubor, který si může libovolná akce vypůjčit.

Místní úložiště objektů

  • Místní úložiště objektů je výchozí úložiště objektů
  • Je specifický pro akce a lze jej použít pouze pro konkrétní akci
  • Lokální objektové úložiště je vhodnější, pokud aplikace není časově dynamická.
  • Lokální úložiště objektů nelze znovu použít.
  • V lokálním repozitáři objektů můžete provádět mnoho operací, například:
    • Zvýrazněte objekt uložený v úložišti v testované aplikaci
    • Zkontrolujte, zda je konkrétní objekt ve vašem AUT uložen v úložišti objektů
    • Vyjmout, zkopírovat, vložit, upravit a odstranit objekty
    • V případě, že jste omylem upravili hodnotu vlastnosti, můžete její popis aktualizovat z aplikace pomocí funkce aktualizace.

Níže uvedené video demonstruje práci s lokálním repozitářem objektů.

Úložiště sdílených objektů: Vytvořit, přidružit, upravit

  • Globální nebo sdílené úložiště objektů je vhodnější, pokud je aplikace dynamická a popisy objektů se často mění.
  • Mezi sdíleným a lokálním objektovým repozitářem se sdílený objektový repozitář běžněji používá v automatizačních projektech.
  • Ve srovnání s lokálním repozitářem objektů má však režijní náklady na údržbu a správu.

Chcete-li vytvořit a používat úložiště sdílených objektů, musíte provést tři obecné kroky

  • Vytvoření úložiště sdílených objektů
  • Přidružení úložiště sdílených objektů
  • Úprava úložiště sdílených objektů

Pojďme se na ně podívat jeden po druhém

Krok 1) Vytvoření úložiště sdílených objektů

  • Všechna úložiště jsou ve výchozím nastavení lokální. Chcete-li vytvořit sdílené úložiště objektů, v dialogovém okně Úložiště objektů Box, Klikněte na Soubor > Exportovat lokální objekty
  • Soubory repozitáře mají příponu .tsrZadejte vhodné jméno, řekněte „guru99“ a uložte.
  • Soubor sdíleného úložiště je nyní vytvořen

Krok 2) Přidružení úložiště sdílených objektů

  • Dalším krokem je propojení repozitáře s vaším testem, což vám umožní jeho použití.
  • Chcete-li přiřadit repozitář k testu, klikněte na Zdroje > Repozitář přidružených subjektů (označené Přidružené repozitáře v současném UFT Jedna verze)
  • Můžete vybrat úložiště, které chcete přidružit k akcím dostupným ve vašem testu.
  • Nyní můžete toto sdílené úložiště použít k vývoji svého testu

Krok 3) Úprava úložiště sdílených objektů

  • Sdílené úložiště můžete upravit pomocí Správce úložiště objektů.
  • vybrat Zdroje > Správce úložiště objektůOtevřete úložiště objektů „guru99“, které jsme vytvořili.
  • Ve výchozím nastavení je úložiště otevřeno v režimu pouze pro čtení. Chcete-li povolit úpravy, klikněte na Soubor > Povolit úpravy
  • Jakmile je úprava povolena, můžete provádět všechny operace, jako je vyjmutí, kopírování, vkládání a přejmenování objektů, které lze provádět i v úložišti objektů.
  • Pomocí Správce úložiště objektů můžete také porovnat dvě úložiště objektů. QTP zobrazuje statistiky o tom, co je v obou repozitářích jedinečné a co je společné
  • Nástroj pro sloučení úložišť objektů můžete použít ke sloučení dvou úložišť do jednoho.

Následující video vás provede pracovním postupem sdíleného úložiště.

Rozdíl mezi lokálním a sdíleným úložištěm objektů

Většina týmů nakonec používá oba druhy vedle sebe, takže je užitečné vidět kompromisy na jednom místě, než se rozhodne, kam nový objekt patří.

Kritéria Místní úložiště objektů Sdílené úložiště objektů
dostupnost Vytvořeno automaticky s každou akcí Musí být vytvořeno a poté přidruženo k akci
Rozsah Jedno úložiště na akci; použitelné pouze pro danou akci Jeden soubor použitelný pro mnoho akcí v rámci mnoha testů
formát souborů Uloženo jako ObjectRepository.bdb uvnitř složky akcí Uloženo jako externí .tsr soubor
Editace Upravitelné přímo v okně úložiště objektů Ve výchozím nastavení pouze pro čtení; upravovat pomocí Správce úložiště objektů
Opakované použití Nelze znovu použít Navrženo pro opětovné použití a správu verzí
Údržba Změněná vlastnost musí být opravena v každé akci. Změněná vlastnost je opravena jednou, pro každý související test.
Nejlépe se hodí Malé, stabilní aplikace a jednorázové učící testy Rozsáhlé nebo dynamické aplikace s několika automatizačními inženýry

Stručně řečeno, lokální repozitář je ze začátku rychlejší a sdílený repozitář se levněji udržuje. Učební testy a jednorázové kontroly mohou zůstat lokální; cokoli, co spustí druhá osoba, patří do .tsr soubor.

Jak přidat objekty přímo do úložiště sdílených objektů

Export lokálních objektů je pouze jednou z cest k .tsr soubor. Pokud již víte, jaké ovládací prvky sada potřebuje, je rychlejší nejprve vytvořit sdílené úložiště a vůbec nic nezaznamenávat.

  1. vybrat Zdroje > Správce úložiště objektů pro otevření okna Správce.
  2. Vybrat Soubor> Nový spustit prázdné sdílené úložiště nebo otevřít existující .tsr soubor a vyberte Soubor > Povolit úpravy.
  3. Použití Přidat objekty možnost ukázat na ovládací prvek, který chcete v testované aplikaci naučit, a poté výběr potvrdit.
  4. Opakujte pro každý ovládací prvek, kterého se sada dotkne, a za pochodu přejmenujte objekty na něco čitelného.
  5. vybrat Soubor> Uložit a uložte soubor do složky správy zdrojového kódu vedle souboru test.
  6. Zpět v testu vyberte Zdroje > Repozitář přidružených subjektů a připojte soubor ke každé akci, která ho potřebuje.

Dva návyky se vyplatí v tomto přístupu. Pojmenovávejte objekty podle jejich obchodní role, nikoli podle jejich popisku, protože popisky se mění častěji než role. Také ponechávejte jedno úložiště na obrazovku nebo modul aplikace místo jednoho obrovského souboru, protože menší úložiště se načítají rychleji a způsobují mnohem méně konfliktů sloučení.

Nejčastější dotazy

Lokální úložiště objektů je uloženo jako ObjectRepository.bdb ve složce akcí. Sdílené úložiště objektů je uloženo jako samostatný soubor .tsr, který se nachází mimo test a lze jej zařadit do správy verzí.

Ano. Otevřete okno Úložiště objektů pro danou akci a vyberte Soubor a poté Exportovat lokální objekty. QTP zapíše objekty akce do souboru .tsr, který pak přiřadíte k jakékoli akci, která je potřebuje.

Ano. Dialogové okno Přidružit repozitář přijímá několik souborů .tsr na jednu akci a umožňuje nastavit jejich prioritu. Pokud se stejný název objektu objeví dvakrát, vítězí repozitář s vyšším umístěním v seznamu.

Správce úložiště objektů otevírá sdílené soubory pouze pro čtení, aby se dva inženýři nemohli navzájem přepsat. Vyberte Soubor a poté Povolit úpravy, chcete-li zrušit zápis, a po dokončení soubor zavřete, aby jej kolegové mohli upravovat.

Identifikace s pomocí umělé inteligence UFT Ovládací prvky se porovnávají podle vizuálního vzhledu a textu popisku, nikoli podle pevných vlastností, takže přejmenovaná třída již tento krok nepřeruší. Návrhy na samoopravu také označují zastaralé popisy repozitářů po změně uživatelského rozhraní.

Copilot může vytvářet okolní logiku VBScript, smyčky a reporty, ale nevidí váš repozitář. Názvy objektů musí stále pocházet ze samotného repozitáře, proto s vygenerovanými hierarchiemi zacházejte jako s zástupnými symboly a každou z nich ověřujte pomocí... Objektový špión.

Ne, doplňuje to. Descriptprogramování vytváří popis objektu v kódu za běhu, což vyhovuje dynamickým ovládacím prvkům, zatímco repozitář zůstává lepší volbou pro stabilní obrazovky a čitelné skripty.

Otevřete oba soubory ve Správci úložiště objektů a spusťte Nástroj pro sloučení úložiště objektů. Nástroj oznámí, které objekty jsou společné a které jedinečné, a poté vám umožní vyřešit jednotlivé konflikty před zápisem sloučeného souboru .tsr.

Shrňte tento příspěvek takto: