Beskrivende programmering i QTP / UFT: Dynamisk & Statisk

Innholdsfortegnelse:

Anonim

Hva er beskrivende programmering?

Beskrivende programmering brukes til å utføre operasjoner på et objekt i AUT hvis definisjon ikke er lagret i Object Repository. Ved å bruke denne mekanismen kan du omgå identifikasjon fra Object Repository og oppgi Object Description i selve setningen.

Et objektnavn brukes ganske enkelt til å kartlegge et objekt i skriptet med beskrivelsen i et objektlager. Betydning hvis du endrer objektnavnet i skriptet og objektdatabasen, skal skriptet kjøre. Se følgende video om dette konseptet

Klikk her hvis videoen ikke er tilgjengelig

Video Høydepunkter

  • Slett objektbeskrivelsen for agentnavn, vinn redigeringsboksen fra objektlageret. Hvis du kjører testen igjen, vil den mislykkes siden den ikke kan gjenkjenne objektet. La oss undersøke årsaken til at manuset mislykkes
  • Under kjøretid identifiserer Micro Focus UFT operasjonen som utføres i WinEdit-boksen, og Objektbeskrivelsen i Object Repository er lagret som agentnavn. Det bruker dette navnet for å spore objektet i et objektlager. For en forelder kan du ikke ha to underobjekter med samme navn. Derfor kartlegger QTP objektet i depotet unikt. Deretter bruker den den lagrede beskrivelsen i Object Repository og erstatter navnet med beskrivelsen. Den bruker deretter denne uttalelsen til å identifisere objektet i applikasjonen under test / li>
  • Siden vi i vårt tilfelle hadde slettet denne objektbeskrivelsen helt, mislykkes skriptet / li>
  • Men hva om du i stedet for QTP erstatter objektbeskrivelsen, du som tester spesifiserer objektbeskrivelsene i skriptet ditt. Dette er ingenting annet enn "beskrivende programmering"

Typer av beskrivende programmering

Du kan bruke beskrivende programmering på to måter

  1. Statisk
  2. Dynamisk

Statisk beskrivende programmering

I Statisk metode, for objektidentifikasjon, spesifiserer du et objekts eiendom i følgende format

eiendom: = verdier,

Dette formatet kalles eiendomsverdipar og er omsluttet av inverterte kommaer>

Hvis objektet ditt bruker flere beskrivelser for identifikasjon, kan du spesifisere dem ved hjelp av komma >

Så i vårt tilfelle blir beskrivelsen for agentnavn

"nativeclass: = Edit", "vedlagt tekst: = Agentnavn:"

Dynamisk beskrivende programmering

Den andre metoden for å gjøre den samme handlingen er å bruke Dynamic Descriptive programmering

Hvis skriptet ditt bruker det beskrivende programmeringsobjektet kandidat flere ganger, vil det være veldig kjedelig å spesifisere alle eiendomsverdiparene for hver setning

I slike tilfeller kan du benytte deg av beskrivelsesklasse levert av QTP

Syntaksen for å lage et beskrivelseobjekt er

Sett MyDescription = Description.Create ();MyDescription ("eiendom"). Verdi = "eiendom-verdi";

Dette er den dynamiske metoden

Hvorfor bruke beskrivende programmering?

Videoutskrift

  • Million dollar-spørsmålet er hvorfor man bruker DP når Object Identification-prosessen håndteres av QTP
  • Anta at du er tildelt å teste en jobbportal. Du skriver inn et søk i portalen og
  • testen din forventer at du velger alle tilgjengelige jobber. og klikker på søk jobben
  • Men antall reflekterte jobber vil avhenge av søk og jobber tilgjengelig på tidspunktet for skriptutførelse, men det er ingen måte å på forhånd forutsi antall jobber som vil reflekteres
  • I slike tilfeller kan du bruke beskrivende programmering. Selv om du ikke vet antall og navn på avmerkingsboksene, kjenner du klassen for objektene som "WebCheckBox"
  • Du kan bruke ChildObject-metoden til å returnere objekter som tilhører en bestemt foreldre
  • En linje med kode som -
    Sett allObjects = nettleser ("Jobber"). Side ("QTP"). ChildObjects ()
  • Returnerer alle underordnede objekter for denne siden.
  • Men vi vil bare ha WebCheckBox-objekter. For å gjøre det kan vi opprette et filteropprettingsobjekt og sette egenskapen som nett avkrysningsrute og sende dette filteret som et argument for ChildObjects-metoden
  • I dette tilfellet returneres bare avmerkingsboksene.
  • Deretter kan du skrive en kode som denne som får tilgang til hele samlingen av avkrysningsruter fra null og setter alle avkrysningsruter PÅ.
  • Deretter kan du klikke på bruk-knappen for å fullføre testen
  • Du kan også bruke beskrivende programmering til å kjøre objekter som er vanskelige å ta opp, som Auto-Hide Panels, Objekter med skiftende hierarkier, Nestede indre objekter, Undermenyer.
  • Du kan også gjøre avanserte strengmanipuleringer ved hjelp av beskrivende programmering
  • I forbindelse med indeksegenskap kan beskrivende programmering være veldig nyttig for å identifisere vanskelige objekter.
  • Hvis du bruker programmatisk beskrivelse for et objekt i objekthierarki, må du bruke beskrivelsesprogrammering for etterfølgende underordnede objekter
  • For sideobjektet ble for eksempel beskrivende programmering brukt, men for å etterfølgende underordnet objekt brukes WinEdit Object Repository som er feil
  • Tvert imot her for både Page og WinEdit brukes beskrivende programmering som er riktig