Descriptive-ohjelmointi QTP/UFTDynaaminen ja staattinen
Mikรค on Descriptive ohjelmointi?
Descriptive-ohjelmointia kรคytetรครคn operaatioiden suorittamiseen AUT:ssa olevalle objektille, jonka mรครคritelmรครค ei ole tallennettu objektivarastoon. Tรคmรคn mekanismin avulla voit ohittaa tunnistuksen objektivarastosta ja toimittaa objektin Descriptioni itse lausunnossa.
Objektin nimeรค kรคytetรครคn yksinkertaisesti kuvaamaan objekti komentosarjassa sen kuvauksen kanssa objektivarastossa. Tรคmรค tarkoittaa, ettรค jos muutat objektin nimeรค komentosarjassa ja objektivarastossa, komentosarjan pitรคisi toimia. Katso seuraava video tรคstรค konseptista
Napauta tรครคltรค jos video ei ole saatavilla
Video Highlights
- Poista objekti Description Agent Name Win Edit Box Objektivarastosta. Jos suoritat testin uudelleen, se epรคonnistuu, koska se ei tunnista objektia. Tarkastellaan syytรค, miksi komentosarja epรคonnistuu
- Suoritusajan aikana, mikrotarkennus UFT tunnistaa WinEdit-ruudussa ja objektissa suoritettavan toiminnon DescriptObjektitietovarastossa oleva ion tallennetaan agentin nimenรค. Se kรคyttรครค tรคtรค nimeรค track objekti objektivarastossa. Ylรคobjektilla ei voi olla kahta samannimistรค aliobjektia. Siksi QTP mรครคrittรครค objektin yksilรถllisesti tietovarastossa. Se kรคyttรครค sitten tallennettua kuvausta Object Repositoryssa ja korvaa nimen kuvauksella. Tรคmรคn lauseen avulla se tunnistaa objektin testattavassa sovelluksessa.
- Koska meidรคn tapauksessamme olimme poistaneet tรคmรคn objektin kuvauksen kokonaan, komentosarja epรคonnistuu
- Mutta entรค jos sen sijaan QTP Kun korvaat objektikuvauksen, testaajana mรครคritรคt objektikuvaukset suoraan skriptissรคsi. Tรคmรค ei ole muuta kuin "Descriptive ohjelmointi"
Tyyppisiรค Descriptive ohjelmointi
Voit kรคyttรครค Descriptohjelmointi kahdella tavalla
- Staattinen
- Dynaaminen
Staattinen Descriptive ohjelmointi
Staattisessa menetelmรคssรค objektin tunnistamista varten mรครคritรคt objektin ominaisuuden seuraavassa muodossa
property:=values,
Tรคtรค muotoa kutsutaan ominaisuusarvopariksi ja se on suljettu kรครคnteisillรค pilkuilla
Jos esineesi kรคyttรครค useita kuvauksia tunnistamista varten, voit mรครคrittรครค ne pilkuilla
Joten meidรคn tapauksessamme Agentin nimen kuvaus tulee
"nativeclass:=Edit", "attached text:=Agent Name:"
Dynaaminen Descriptive ohjelmointi
Toinen tapa tehdรค sama toiminto on kรคyttรครค Dynamic Descriptive ohjelmointi
Jos komentosarjasi kรคyttรครค kuvaavaa ohjelmointiobjektiehdokasta useita kertoja, on erittรคin vรคsyttรคvรครค mรครคrittรครค kaikki ominaisuusarvoparit jokaiselle lauseelle
Tรคllaisissa tapauksissa voit kรคyttรครค Descriptioniluokka antamat QTP
Syntaksi kuvausobjektin luomiseen on
Set MyDescription = Description.Create();
MyDescription("property").Value = "property-value";
Tรคmรค on Dynaaminen menetelmรค
Miksi kรคyttรครค Descriptive ohjelmointi?
Video-transkripti
- Miljoonan dollarin kysymys on, miksi kรคyttรครค DP:tรค, kun objektin tunnistusprosessia hoitaa QTP
- Oletetaan, ettรค sinut on mรครคrรคtty testaamaan tyรถportaalia. Kirjoitat hakukyselyn portaaliin ja
- testisi odottaa sinun valitsevan kaikki kรคytettรคvissรค olevat tyรถt .ja napsauta hakea tyรถtรค
- Mutta heijastuvien tรถiden lukumรครคrรค riippuu hakukyselystรค ja skriptin suorittamishetkellรค kรคytettรคvissรค olevista tรถistรค, mutta ei ole mitรครคn keinoa ennustaa etukรคteen nรคkyvien tรถiden mรครคrรครค.
- Tรคllaisissa tapauksissa voit kรคyttรครค kuvaavaa ohjelmointia. Vaikka et tiedรค valintaruutujen lukumรครคrรครค ja nimiรค, tiedรคt objektien luokan nimellรค "WebCheckBox"
- Voit kรคyttรครค ChildObject-menetelmรค palauttaa tietylle vanhemmalle kuuluvia objekteja
- Koodirivi, kuten -
Set allObjects = Browser("Jobs").Page("QTP").ChildObjects() - Palauttaa kaikki tรคmรคn sivun aliobjektit.
- Mutta haluamme vain WebCheckinBox esineitรค. Tรคtรค varten voimme luoda suodattimen luontiobjektin ja asettaa sen ominaisuuden webiksi -valintaruudun ja vรคlittรครค tรคmรคn suodattimen argumentiksi 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 myรถs kรคyttรครค Descriptive Ohjelmointi suorittamaan kohteita, joita on vaikea tallentaa, kuten automaattinen piilotuspaneelit, objektit muuttuvilla hierarkioilla, sisรคkkรคiset sisรคiset objektit, alivalikot.
- Voit myรถs tehdรค edistyneitรค merkkijonokรคsittelyjรค kรคyttรคmรคllรค kuvaavaa ohjelmointia
- Yhdessรค indeksiominaisuuden kanssa kuvaava ohjelmointi voi olla erittรคin hyรถdyllinen vaikeiden kohteiden tunnistamisessa.
- Jos kรคytรคt ohjelmallista kuvausta objektille objektihierarkiassa, sinun on kรคytettรคvรค kuvausohjelmointia seuraaville aliobjekteille
- Esimerkiksi sivuobjektille kรคytettiin kuvaavaa ohjelmointia, mutta seuraavalle aliobjektille kรคytetรครคn WinEdit Object Repositorya, mikรค on virheellinen
- Pรคinvastoin, tรคssรค sekรค Page- ettรค WinEdit-ohjelmassa kรคytetรครคn kuvaavaa ohjelmointia, mikรค on oikein
