Leíró programozás QTP / UFT-ben: Dinamikus & Statikus

Tartalomjegyzék:

Anonim

Mi az a leíró programozás?

Leíró programozással végezhetők műveletek egy olyan objektumon az AUT-ban, amelynek meghatározása nincs tárolva az Object Repository-ban. Ezzel a mechanizmussal megkerülheti az azonosítást az Object Repository-ból, és megadhatja az Object Description-t magában a utasításban.

Az objektum nevét egyszerűen egy objektum leképezésére használják a szkriptben, annak leírásával egy objektumtárban. Ha a szkriptben és az objektumtárban megváltoztatja az objektum nevét, akkor a parancsfájlnak futnia kell. Nézze meg a következő videót erről a koncepcióról

Kattintson ide, ha a videó nem érhető el

Video Highlights

  • Törölje az Ügynök neve Win Szerkesztés mező objektumleírását az Objektumtárból. Ha újra futtatja a tesztet, az nem fog sikerülni, mivel nem ismeri fel az objektumot. Vizsgáljuk meg a szkript sikertelenségének okát
  • Futtatási idő alatt a Micro Focus UFT azonosítja a WinEdit mezőben végrehajtott műveletet, és az Object Description az Object Repository-ban Agent névként kerül tárolásra. 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 egyedülálló módon leképezi az objektumot a lerakatban. Ezután felhasználja az Objektumtárban tárolt leírást, é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 / li>
  • Mivel esetünkben ezt az objektumleírást teljesen töröltük, a szkript nem működik / li>
  • De mi van akkor, ha a QTP helyett az objektumleírást tesztelőként közvetlenül megadja az objektumleírásokat a szkriptben. Ez nem más, mint "Leíró programozás"

A leíró programozás típusai

A Leíró programozás kétféleképpen használható

  1. Statikus
  2. Dinamikus

Statikus leíró programozás

A Statikus módszerben az objektumazonosításhoz az objektum tulajdonságait a következő formátumban adhatja meg

tulajdonság: = értékek,

Ezt a formátumot tulajdonságértékpárnak hívják, és fordított vesszőkbe foglalja>

Ha az objektum több leírást használ az azonosításhoz, megadhatja azokat vesszőkkel >

Tehát esetünkben az Ügynök neve leírása lesz

"nativeclass: = Edit", "csatolt szöveg: = Ügynök neve:"

Dinamikus leíró programozás

A művelet végrehajtásának második módja a Dinamikus Leíró Programozás használata

Abban az esetben, ha a szkript többször használja a leíró programozási objektumjelöltet, nagyon fárasztó lesz minden utasítás értékének minden tulajdonságértékét megadni

Ilyen esetekben igénybe veheti a QTP által biztosított Leírás osztályt

A leírásobjektum létrehozásának szintaxisa a

Set MyDescription = Description.Create ();MyDescription ("tulajdonság"). Érték = "tulajdonság-érték";

Ez a dinamikus módszer

Miért érdemes használni a leíró programozást?

Videó átirat

  • A millió dolláros kérdés az, hogy miért kell használni a DP-t, amikor az objektumazonosítási folyamatot a QTP kezeli
  • Tegyük fel, hogy be van jelölve egy állásportál tesztelésére. Megad egy keresési lekérdezést a portálon és
  • a teszt azt várja, hogy válassza ki az összes rendelkezésre álló munkát .és kattintson az alkalmazásra
  • De a tükröződött munkák száma a keresési lekérdezéstől és a parancsfájl végrehajtásakor rendelkezésre álló feladatoktó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 tudja a jelölőnégyzetek számát és nevét, az objektumok osztályát "WebCheckBox" néven ismeri
  • A ChildObject módszerrel visszaadhatja az adott szülőhöz tartozó objektumokat
  • Olyan kódsor, mint -
    Set allObjects = Browser ("Jobs"). Page ("QTP"). ChildObjects ()
  • Visszaadja az oldal összes gyermekobjektumát.
  • De csak WebCheckBox objektumokat akarunk. Ehhez létrehozhatunk egy szűrő létrehozó objektumot, és beállíthatjuk annak tulajdonságát webként jelölőnégyzetet, és átadhatjuk ezt a szűrőt argumentumként a ChildObjects módszerhez
  • Ebben az esetben csak a jelölőnégyzetek kerülnek visszaadásra.
  • Ezután írhat egy ilyen kódot, amely a nullától kezdve hozzáfér a teljes jelölőnégyzet-gyűjteményhez, és BEÁLLÍTJA az összes jelölőnégyzetet.
  • Ezután kattintson az alkalmazás gombra a teszt befejezéséhez
  • A Leíró programozás segítségével nehezen rögzíthető objektumokat is futtathat, például Automatikus panelek elrejtése, Változó hierarchiájú objektumok, Beágyazott belső objektumok, Almenük.
  • Fejlett karakterlánc-manipulációkat is végezhet leíró programozással
  • Az index tulajdonsággal együtt a leíró programozás nagyon hasznos lehet a nehéz objektumok azonosításában.
  • Ha az objektumhierarchiában egy objektumhoz programozási leírást használ, akkor leíró programozást kell használnia a következő gyermekobjektumok számára
  • Például az oldalobjektumhoz leíró programozást használtak, de az utód utódobjektumhoz a WinEdit Object Repository-t használták, ami helytelen
  • Ellenkezőleg, itt mind a Page, mind a WinEdit esetében leíró programozást használunk, ami helyes