DescriptQTP/UFT programmeerimine: dünaamiline ja staatiline
Mis on DescriptKas olete programmeerimine?
DescriptIve programmeerimist kasutatakse AUT-s oleva objektiga toimingute tegemiseks, mille definitsiooni ei ole salvestatud objektihoidlasse. Seda mehhanismi kasutades saate objektihoidlast tuvastamisest mööda minna ja objekti varustada Descriptioon avalduses endas.
Objekti nime kasutatakse lihtsalt objekti kaardistamiseks skriptis koos selle kirjeldusega objektihoidlas. See tähendab, et kui muudate objekti nime skriptis ja objektihoidlas, peaks skript käima. Vaadake selle kontseptsiooni kohta järgmist videot
Click siin kui video pole juurdepääsetav
Video Highlights
- Kustuta objekt DescriptAgendi nimi Win Redigeerimine Box objektide hoidlast. Kui käivitate testi uuesti, see ebaõnnestub, kuna see ei tunne objekti ära. Uurime põhjust, miks skript ebaõnnestub
- Käitusaja jooksul tuvastab Micro Focus UFT toimingu, mis tehakse WinEdit kastis ja objektis Descriptioon objektihoidlas salvestatakse agendi nimena. Ta kasutab seda nime objekti hoidlas oleva objekti jälgimiseks. Vanema puhul ei saa teil olla kahte sama nimega alamobjekti. Seega kaardistab QTP hoidlas oleva objekti unikaalselt. Seejärel kasutab see objektihoidlasse salvestatud kirjeldust ja asendab nime kirjeldusega. Seejärel kasutab ta seda lauset objekti tuvastamiseks testitavas rakenduses
- Kuna meie puhul olime selle objekti kirjelduse üldse kustutanud, siis skript ebaõnnestub
- Aga mis siis, kui QTP asemel objekti kirjeldust asendate, määrate testijana otse oma skriptis objektide kirjeldused. See pole midagi muud kui "Descriptive programmeerimine"
Tüübid Descriptive programmeerimine
Võite kasutada Descriptprogrammeerida kahel viisil
- Staatiline
- Dünaamiline
Staatiline Descriptive programmeerimine
Staatilises meetodis määrate objekti tuvastamiseks objekti atribuudi järgmises vormingus
property:=values,
Seda vormingut nimetatakse atribuudi väärtuse paariks ja see on ümbritsetud pöördkomadega
Kui teie objekt kasutab tuvastamiseks mitu kirjeldust, saate need määrata komadega
Nii et meie puhul muutub agendi nime kirjeldus
"nativeclass:=Edit", "attached text:=Agent Name:"
Dünaamiline Descriptive programmeerimine
Teine meetod sama toimingu tegemiseks on dünaamiline kasutamine Descriptive programmeerimine
Kui teie skript kasutab kirjeldavat programmeerimisobjekti kandidaati mitu korda, on väga tüütu määrata iga avalduse jaoks kõik atribuudi väärtuste paarid
Sellistel juhtudel võite kasutada Descriptioonide klass pakub QTP
Süntaks kirjeldusobjekti loomiseks on
Set MyDescription = Description.Create(); MyDescription("property").Value = "property-value";
See on Dünaamiline meetod
Miks kasutada DescriptKas olete programmeerimine?
Video transkript
- Miljoni dollari küsimus on, miks kasutada DP-d, kui objekti tuvastamise protsessi haldab QTP
- Oletame, et teid on määratud testima tööportaali. Sisestate portaali otsingupäringu ja
- teie test eeldab, et valite kõik saadaolevad töökohad ja klõpsake nuppu Rakenda töö
- Kuid kajastuvate tööde arv sõltub otsingupäringust ja skripti täitmise ajal saadaolevatest töökohtadest, kuid pole võimalik ette ennustada kajastuvate tööde arvu
- Sellistel juhtudel saate kasutada kirjeldavat programmeerimist. Isegi kui te ei tea märkeruutude arvu ja nimesid, teate objektide klassi nagu "WebCheckBox"
- Võite kasutada ChildObject meetod konkreetsele vanemale kuuluvate objektide tagastamiseks
- Koodirida nagu -
Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
- Tagastab kõik selle lehe alamobjektid.
- Kuid me tahame ainult WebCheckiBox objektid. Selleks saame luua filtri loomise objekti ja määrata selle atribuudi veebiks ning edastada selle filtri ChildObjects meetodi argumendiks
- Sel juhul tagastatakse ainult märkeruudud.
- Järgmisena saate kirjutada sellise koodi, mis pääseb juurde kogu märkeruutude kogumile alates nullist ja lülitab kõik märkeruudud sisse.
- Järgmisena võite testi lõpuleviimiseks klõpsata nupul Rakenda
- Vous pouvez aussi kasutamine Descriptive Programmeerimine selliste objektide käitamiseks, mida on raske salvestada, näiteks paneelide automaatne peitmine, muutuva hierarhiaga objektid, pesastatud sisemised objektid, alammenüüd.
- Kirjeldava programmeerimise abil saate teha ka täpsemaid stringidega manipuleerimisi
- Koos indeksi atribuudiga võib kirjeldav programmeerimine olla keeruliste objektide tuvastamisel väga kasulik.
- Kui kasutate objekti hierarhias oleva objekti jaoks programmilist kirjeldust, peate järgmiste alamobjektide jaoks kasutama kirjelduse programmeerimist
- Näiteks leheobjekti puhul kasutati kirjeldavat programmeerimist, kuid järgneva alamobjekti jaoks kasutatakse WinEdit Object Repository, mis on vale
- Vastupidi, siin kasutatakse nii lehe kui ka WinEditi kirjeldavat programmeerimist, mis on õige