DescriptQTP/UFT programozás: dinamikus és statikus

Mi a Descriptive programozás?

DescriptAz ive programozás az AUT-ban lévő olyan objektumon történő műveletek végrehajtására szolgál, amelyek definíciója nincs tárolva az objektumtárban. Ezzel a mechanizmussal megkerülheti az objektumtárból történő azonosítást, és megadhatja az objektumot Description magában a nyilatkozatban.

Az objektumnevet egyszerűen arra használjuk, hogy leképezzünk egy objektumot szkriptben és annak leírását egy objektumtárban. Ez azt jelenti, hogy ha megváltoztatja az objektum nevét a szkriptben és az objektumtárban, a szkriptnek futnia kell. Nézze meg a következő videót erről a koncepcióról

Kattints itt ha a videó nem érhető el

Videó Highlights

  • Törölje az objektumot DescriptAz Ügynöknév Win Edit ionja Box az Objektumtárból. Ha újra futtatja a tesztet, az sikertelen lesz, mivel nem ismeri fel az objektumot. Vizsgáljuk meg a szkript meghibásodásának okát
  • Futás közben a Micro Focus UFT azonosítja a WinEdit dobozon és az objektumon végrehajtott műveletet DescriptAz Object Repository-ban lévő ion ügynöknévként van tárolva. Ezt a nevet használja az objektum nyomon követésére egy objektumtárban. Egy szülő esetében nem lehet két azonos nevű gyermekobjektum. Ezért a QTP egyedileg leképezi az objektumot a tárolóban. Ezután az objektumtárban tárolt leírást használja, és a nevet lecseréli a leírásra. Ezután ezt az utasítást használja az objektum azonosítására a tesztelt alkalmazásban
  • Mivel esetünkben ezt az objektumleírást teljesen töröltük, a szkript meghibásodik
  • De mi van akkor, ha ahelyett, hogy a QTP lecserélné az objektumleírást, tesztelőként közvetlenül adja meg az objektumleírásokat a szkriptben. Ez nem más, mint "Descriptive programozás”

Típusok Descriptive programozás

Használhatja Descriptkétféleképpen lehet programozni

  1. Statikus
  2. Dinamikus

Statikus Descriptive programozás

A Statikus metódusban az objektum azonosításához a következő formátumban adja meg az objektum tulajdonságait

property:=values,

Ezt a formátumot tulajdonságérték párnak nevezik, és fordított vesszők közé zárjuk

Ha az objektum használja több leírást is megadhat az azonosításhoz, ezeket vesszővel adhatja meg

Így esetünkben az Ügynöknév leírása lesz

"nativeclass:=Edit", "attached text:=Agent Name:"

Dinamikus Descriptive programozás

Ugyanennek a műveletnek a második módja a dinamikus Descriptive programozás

Abban az esetben, ha a szkript többször használja a leíró programozási objektum jelöltet, nagyon fárasztó lesz az összes tulajdonságérték pár megadása minden utasításhoz.

Ilyen esetekben használhatja Description osztály a QTP biztosítja

A szintaxis leírás objektum létrehozásához az

Set MyDescription = Description.Create();
MyDescription("property").Value = "property-value";

Ez a Dinamikus módszer

Miért használja Descriptive programozás?

Videó átirat

  • A millió dolláros kérdés az, hogy miért használjunk DP-t, amikor az objektum azonosítási folyamatot QTP kezeli
  • Tegyük fel, hogy egy állásportál tesztelésére van kijelölve. Beír egy keresési lekérdezést a portálba és
  • a teszt azt várja, hogy kiválassza az összes elérhető állást .és kattintson az állás alkalmazására
  • De a megjelenített munkák száma a keresési lekérdezéstől és a szkript végrehajtása idején elérhető munkáktól függ, de nincs mód előre megjósolni a tükröződő munkák számát
  • Ilyen esetekben használhat leíró programozást. Annak ellenére, hogy nem ismeri a jelölőnégyzetek számát és nevét, ismeri az objektumok osztályát „WebCheckBox"
  • Használhatja a ChildObject módszer adott szülőhöz tartozó objektumok visszaadására
  • Egy kódsor, mint például
    Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
  • Visszaadja az oldal összes gyermekobjektumát.
  • De mi csak a WebChecket akarjukBox tárgyakat. Ehhez létrehozhatunk egy szűrőlétrehozási objektumot, és beállíthatjuk a tulajdonságát webként jelölőnégyzetet, és átadhatjuk ezt a szűrőt argumentumként a ChildObjects metódushoz.
  • Ebben az esetben csak a jelölőnégyzetek jelennek meg.
  • Ezután írhat egy ehhez hasonló kódot, amely hozzáfér a jelölőnégyzetek teljes gyűjteményéhez nullától kezdve, és az összes jelölőnégyzetet BE kapcsolja.
  • Ezután kattintson az Alkalmaz gombra a teszt befejezéséhez
  • Ön is használja Descriptive Programozás nehezen rögzíthető objektumok futtatására, például panelek automatikus elrejtése, változó hierarchiával rendelkező objektumok, egymásba ágyazott belső objektumok, almenük.
  • Speciális karakterlánc-manipulációkat is végezhet leíró programozás segítségével
  • Az indextulajdonságokkal együtt a leíró programozás nagyon hasznos lehet a nehéz objektumok azonosításában.
  • Ha programozott leírást használ egy objektum hierarchiájában, akkor a következő utódobjektumokhoz leíró programozást kell használnia
  • Például az oldalobjektumhoz leíró programozást használtak, de a következő utódobjektumhoz a WinEdit Object Repository került felhasználásra, ami helytelen
  • Éppen ellenkezőleg, itt mind a Page, mind a WinEdit esetében leíró programozást használunk, ami helyes