Mikä on kuvaileva ohjelmointi?
Kuvaavaa ohjelmointia käytetään suorittamaan toiminnot AUT-objektissa, jonka määritelmää ei ole tallennettu Object Repository -palveluun. Tämän mekanismin avulla voit ohittaa tunnistamisen objektivarastosta ja toimittaa objektikuvaus itse käskyyn.
Kohteen nimeä käytetään yksinkertaisesti kuvaamaan komentosarjassa oleva objekti sen kuvauksella objektivarastossa. Tarkoitus, jos muutat objektin nimeä komentosarjassa ja objektivarastossa, komentosarjan tulisi toimia. Katso seuraava video tästä konseptista
Napsauta tätä, jos video ei ole käytettävissä
Videon kohokohdat
- Poista Agentin nimi Win -muokkauskentän objektikuvaus Object Repository -palvelusta. Jos suoritat testin uudelleen, se epäonnistuu, koska se ei tunnista objektia. Tarkastellaan syytä, miksi komentosarja epäonnistuu
- Ajon aikana Micro Focus UFT tunnistaa WinEdit-ruutuun suoritettavan toiminnon ja Object Repository -objektin kuvaus tallennetaan Agentin nimellä. Se käyttää tätä nimeä objektin jäljittämiseen objektivarastossa. Vanhemmille ei voi olla kahta lapsiobjektia samalla nimellä. Siksi QTP kartoittaa objektin ainutkertaisesti arkistossa. Sitten se käyttää objektivarastossa olevaa tallennettua kuvausta ja korvaa nimen kuvauksella. Sitten se käyttää tätä lausetta tunnistamaan objektin testattavassa sovelluksessa / li>
- Koska meidän tapauksessamme olimme poistaneet tämän objektin kuvauksen kokonaan, komentosarja epäonnistuu / li>
- Mutta entä jos QTP korvaa objektikuvan, testaajana määrität objektikuvaukset suoraan komentosarjassa. Tämä ei ole muuta kuin "kuvaileva ohjelmointi"
Kuvaavan ohjelmoinnin tyypit
Voit käyttää kuvaavaa ohjelmointia kahdella tavalla
- Staattinen
- Dynaaminen
Staattinen kuvaileva ohjelmointi
Staattisessa menetelmässä määrität objektin tunnistetiedot objektin ominaisuudelle seuraavassa muodossa
ominaisuus: = arvot,
Tätä muotoa kutsutaan ominaisuusarvopariksi ja se on käännettyinä pilkuina>
Jos objekti käyttää useita kuvauksia tunnistamiseen, voit määrittää ne pilkuilla >
Joten meidän tapauksessamme Agentin nimen kuvaus tulee
"nativeclass: = Edit", "liitteenä oleva teksti: = Agentin nimi:"
Dynaaminen kuvaileva ohjelmointi
Toinen tapa suorittaa sama toiminto on käyttää dynaamista kuvaavaa ohjelmointia
Jos komentosarjasi käyttää kuvaavaa ohjelmointikohteen ehdokasta useita kertoja, on erittäin väsyttävää määrittää kaikki ominaisuusarvoparit jokaiselle käskylle
Tällöin voit hyödyntää Kuvaus Luokan tarjoamien QTP
Syntaksi kuvausobjektin luomiseksi on
Set MyDescription = Description.Create ();MyDescription ("ominaisuus"). Arvo = "ominaisuus-arvo";
Tämä on dynaaminen menetelmä
Miksi käyttää kuvailevaa ohjelmointia?
Videon transkriptio
- Miljoonan dollarin kysymys on, miksi käyttää DP: tä, kun QTP hoitaa objektin tunnistamisprosessin
- Oletetaan, että sinut on testattu työportaaliin. Syötä hakukysely portaaliin ja
- testisi odottaa sinun valitsevan kaikki käytettävissä olevat työpaikat .ja napsauta soveltavaa työtä
- Mutta heijastuneiden työpaikkojen lukumäärä riippuu hakukyselystä ja komentosarjan suorituksen aikana käytettävissä olevista töistä, mutta ei ole mahdollista ennustaa etukäteen heijastuvien töiden lukumäärää
- Tällaisissa tapauksissa voit käyttää kuvaavaa ohjelmointia. Vaikka et tiedä valintaruutujen määrää ja nimiä, tunnet objektien luokan "WebCheckBox"
- Voit palauttaa tietylle vanhemmalle kuuluvat objektit ChildObject-menetelmällä
- Koodirivi kuten -
Set allObjects = Selain ("Jobs"). Sivu ("QTP"). ChildObjects ()
- Palauttaa kaikki tämän sivun lapsiobjektit.
- Mutta haluamme vain WebCheckBox-objekteja. Tätä varten voimme luoda suodattimen luontiobjektin ja asettaa sen ominaisuuden verkoksi -valintaruudun ja välittää tämän suodattimen argumenttina ChildObjects-menetelmälle
- Tässä tapauksessa vain valintaruudut palautetaan.
- Seuraavaksi voit kirjoittaa tällaisen koodin, joka käyttää koko valintaruutujen kokoelmaa nollasta alkaen ja asettaa kaikki valintaruudut päälle.
- Seuraavaksi voit suorittaa testin napsauttamalla Käytä-painiketta
- Voit käyttää kuvailevaa ohjelmointia myös sellaisten objektien suorittamiseen, joita on vaikea tallentaa, kuten Automaattinen piilotuspaneelit, Objektit, joilla on muuttuva hierarkia, Sisäkkäiset sisäobjektit, Alivalikot.
- Voit tehdä myös edistyneitä merkkijonon manipulointeja käyttämällä kuvaavaa ohjelmointia
- Hakemisto-ominaisuuden yhteydessä kuvaileva ohjelmointi voi olla erittäin hyödyllinen vaikeiden objektien tunnistamisessa.
- Jos käytät objektihierarkiassa olevalle objektille ohjelmallista kuvausta, sinun on käytettävä kuvausohjelmointia seuraavien aliobjektien seuraamiseen
- Esimerkiksi sivuobjektille käytettiin kuvailevaa ohjelmointia, mutta seuraavaksi lapsiobjektiksi käytetään WinEdit Object Repository -ohjelmaa
- Päinvastoin tässä käytetään sekä Page että WinEdit kuvailevaa ohjelmointia, mikä on oikein