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ó
- Statikus
- 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