Descriptive Ohjelmointi QTP/UFT:ssä: Dynaaminen 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ätä 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
  • Ajon aikana Micro Focus UFT tunnistaa toiminnon, joka suoritetaan WinEdit-ruudulle ja objektille Description Object Repositoryssa on tallennettu Agentin nimenä. Se käyttää tätä nimeä objektin jäljittämiseen objektiarkistossa. Vanhemmalla ei voi olla kahta aliobjektia samalla nimellä. Näin ollen QTP kartoittaa arkistossa olevan objektin yksilöllisesti. Sitten se käyttää objektivarastoon tallennettua kuvausta ja korvaa nimen kuvauksella. Tämän käskyn 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, että QTP korvaisi objektin kuvauksen, testaajana määrität objektikuvaukset suoraan komentosarjassasi. Tämä ei ole muuta kuin "Descriptive ohjelmointi"

Tyyppisiä Descriptive ohjelmointi

Voit käyttää Descriptohjelmointi kahdella tavalla

  1. Staattinen
  2. 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 tarjoaa 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 objektintunnistusprosessia 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