descriptive programming qtp
I denne veiledningen vil du lære hva beskrivende programmering i QTP er , og Databaseforbindelse i QTP dvs. hvordan du kobler til eksterne datakilder som database og MS Excel-ark ved hjelp av QTP.
Beskrivende programmering er en mekanisme for å lage tester der du bruker “Programmatisk beskrivelse” av objekter i stedet for å registrere dem.
=> Klikk her for QTP Training Tutorials Series
Et raskt notat om denne QTP-artikkelserien før vi går til detaljer om denne veiledningen:
Dette er den siste opplæringen i vår online QTP-treningsserie. Jeg håper dere alle likte disse opplæringene og begynte å lære av dem.
Gi oss tilbakemelding:
Jeg ser etter tilbakemeldingene dine ikke bare for denne opplæringsserien, men om det generelle nettstedet. Vær så snill Klikk her for å dele tankene dine om dette nettstedet. Det tar knapt noen minutter å fullføre. Vi verdsetter tilbakemeldinger og forslag. Gi oss beskjed om hva vi kan gjøre for å forbedre opplevelsen din med SoftwareTestingHelp.com
hva er analysefasen i sdlc
Hva du vil lære:
Beskrivende programmering i QTP
Beskrivende programmering er en mekanisme for å lage tester der du bruker “Programmatisk beskrivelse” av objekter i stedet for å registrere dem.
Ved hjelp av denne teknikken kan QTP lages for å identifisere objekter som ikke er i depotet.
Det er to varianter av beskrivende programmering:
- Statisk beskrivende programmering
- Dynamisk beskrivende programmering
Statisk beskrivende programmering
En statisk metode er når du prøver å få tilgang til et objekt ved å bruke et sett med egenskaper og verdier direkte i en VB-setning.
Syntaks: TestObject (“Property name1: = property value”, ”property name 2: = property value”,… .n)
Slik bruker du det:
hvordan du kjører .jar-filen
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Dynamisk beskrivende programmering
Dette fungerer ved å lage et beskrivelseobjekt. Se på følgende eksempel for å opprette et webButton-objekt.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass refererer til de forhåndsdefinerte klassene i QTP. Verdiene du kan tilordne kan være webbutton, webliste etc.
- I QTP 10 er micClass-verdier store og små bokstaver, men i QTP 11 og fremover er de ikke. Hvis du skriver webbutton i QTP 10, vil den mislykkes. Du må skrive webButton. Men den samme nettknappen vil passere i QTP 11.
Du kan trekke ut alle objektene til en bestemt klasse på en side ved å bruke følgende utsagn:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Ovennevnte sett med utsagn vil trekke ut alle knappene på en side og lagre dem i ObjectList-objektet.
Allsidigheten ved å bruke beskrivende programmering er at disse kodelinjene fungerer på en hvilken som helst åpen side. Du kan åpne google.com i nettleseren din, og den vil telle hvor mange knapper som er på den siden. Det fungerer på samme måte hvis du hadde amazon.com eller et annet nettsted åpent.
Dette er fordi vi har navnet på tittelen på siden satt til * som er et vanlig uttrykk.
Så du kan se hvordan vi kan skrive kode som kan brukes i mer enn en anledning ved ikke å hardt kode eiendomsverdiene og ved å lage objektene ved kjøretid .
La oss ta eksemplet vårt litt lenger. Si at jeg prøver å skrive ut navnene på alle knappene på siden etter hverandre.
Hvis det er fire knapper på en side, kan du få tilgang til hver av dem på følgende måte:
Msgbox ObjectList (0) .GetRoProperty (“navn”) –Dette vil skrive ut navnet på den første knappen.
Msgbox ObjectList (1) .GetRoProperty (“navn”)
Msgbox ObjectList (2) .GetRoProperty (“navn”)
Msgbox ObjectList (3) .GetRoProperty (“navn”)
Noter det:
- Indeksen til underordnede objekter starter fra 0
- Siden objektet oppnår egenskapene sine ved kjøretid, bruker vi GetRoProperty-metoden for å hente det samme.
Vi kan endre koden ovenfor for å fungere for et hvilket som helst antall knapper på siden ved å bruke en 'For loop' og gjenta utsagnene i 'For block' til den når slutten av objekttellingen.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Å bruke en “For loop” er bedre fordi du i dette tilfellet ikke trenger å vite hvor mange objekter som er i beskrivelsesobjektet.
Et par punkter å merke seg:
- Du trenger øvelsen for å mestre beskrivende programmering. Uansett hvor mange eksempler du ser på og forstår, trenger du praktisk erfaring for å virkelig jobbe med det.
- Som tester forventes det ikke at du vet hvordan objektene er kodet inn i AUT og hvilke verdier de er satt til. Så bruk ObjectSpy innimellom for å velge de rette egenskapene for å vise egenskapene.
- Testresultatene vil indikere at testobjektet ble opprettet dynamisk under løpeturen ved hjelp av en programmeringsbeskrivelse eller ChildObject-metodene.
Koble til ofte brukte eksterne datakilder fra QTP
Det vil være mange forekomster mens du forbereder testene at du må koble til en ekstern DB eller andre datakilder. Når du er koblet til, må du også flytte data til og fra disse appene til QTP og omvendt.
Selv om det er utenfor omfanget av disse artiklene å gi en komplett guide for å arbeide med eksterne grensesnitt, vil vi se på noen få som er mest brukt.
Databasetilkobling i QTP
For å koble til en database bruker vi vanligvis et ADO-tilkoblingsobjekt. ADO er Microsofts ActiveX-dataobjekter.
Følgende er trinnene som skal følges:
#1) Opprett et DSN. Se opplæringsveiledningen for databasen for å se hvordan dette gjøres, eller opprett en fra kontrollpanelet.
#to) Opprett et tilkoblingsobjekt:
Set conn = CreateObject (“ADODB.connection”)
# 3) Lag et platesettobjekt. Platesettobjektet inneholder resultatene av spørringen vi skal kjøre.
Sett rs = CreateObject (“ADODB.RecordSet”)
# 4) Åpne tilkoblingsobjektet og kjør spørringen:
conn.Åpne “DSN = testDB2; UID = swatiseela; pwd = testing @ 123”
rs.Åpne “Velg * fra abc”, tilkobling
# 5) Du kan nå få tilgang til alle søkeresultatene ved hjelp av 'rs' -objektet.
# 6) For eksempel, hvis du ønsker å få tilbake antallet av radene, kan du bruke
rs.getrows
# 7) For eksempel har tabellen to rader og 3 kolonner (a, b, c) du kan få tilgang til verdiene som følger:
Msgbox rs.fields (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .c
# 8) Du kan bruke en loop-setning hvis det er for mange verdier til å få tilgang til.
# 9) Noen av funksjonene som registrert settobjekt kan bruke er: rs.move, rs.movenext, rs.getrows, rs.close, rs.open, etc.
La oss se på all koden på en gang:
databasetesting intervju spørsmål og svar
Set conn=CreateObject(“ADODB.connection”) Set rs=CreateObject(“ADODB.RecordSet”) conn.Open “DSN=testDB2;UID=swatiseela;pwd=testing@123” rs.Open “Select * from abc”,conn msgbox rs.getrows Msgbox rs.fields(0).a Msgbox rs.fiels(0).b Msgbox rs.fields(0).c Msgbox rs.fields(1).a Msgbox rs.fiels(1).b Msgbox rs.fields(1).c rs.close conn.close
Koble til MS Excel-ark
Vi vet alle at når vi åpner et Excel-program, er hele filen en arbeidsbok som har ark med kolonner og rader der vi legger inn dataene.
Følgende er koden og kommentarene for å hjelpe deg å forstå hvordan det gjøres.
‘Create an excel application object Set excelobj = CreateObject(“Excel.Application”) ‘Set it to visible, otherwise it will be visible in the task manager but you will not be able to view it but it continues to work in the background excelobj.visible = true ‘Opens a workbook at the path speficified. If you need to open a new workbook, use excelobj.workbooks.Add excelobj.workbooks.Open(“C:UsersSwatiDesktopQTP est.xls”) ‘Sets the current sheet as i. the sheet number starts from 1 i=1 Set sheet1 = excelobj.activeworkbook.sheets(i) ‘write to a cell in sheet 1. The cell is row 8 column 4, D8. excelobj.activeworkbook.sheets(1).cells(8,4) = “Test QTP Write to cell” ‘To get the data from sheet2 cell ID C6 testretrurnval = excelobj.activeworkbook.sheets(3).cells(6,3) ‘save changes excelobj.activeworkbook.save ‘close the workbook excelobj.activeworkbook.close ‘Close Excel application excelobj.quit ‘Clear memory Set excelobj = nothing
Bortsett fra de ovennevnte funksjonene, har vi følgende vi kan bruke, avhengig av dine behov.
- excelobj.activeworkbook.sheets.add - For å legge til et nytt ark
- excelobj.activeworkbook.sheets (i) .delete - Slette et ark med indeks i
- excelobj.activeworkbook.sheeets (i) .name = “Navn du ønsker” - For å endre navnet på et ark med indeksen i.
- x = excelobj.activeworkbook.sheets.count - for å få tellingen over hvor mange ark som er i en arbeidsbok
- excelobj. activeworkbook.saves “CompletePathWithNewName.xls” - for å lagre arbeidsboken under et nytt navn
Dette avslutter ikke bare denne artikkelen, men vår QTP-treningsserie. I den neste artikkelen vil vi dekke over noe viktigere QTP intervju spørsmål med svar . Gi oss beskjed om dine kommentarer og spørsmål.
=> Besøk her for QTP Training Tutorials Series
Følg med for flere nyttige artikler og veiledninger om programvaretesting! Hvis du ikke abonnerer på vårt gratis nyhetsbrev via e-post, vennligst gjør det nå innen klikke her .
Anbefalt lesing
- QTP Tutorials - 25+ Micro Focus Quick Test Professional (QTP) Training Tutorials
- Parameterisering i QTP (del 2) - QTP opplæring # 20
- QTP Opplæring # 18 - Datadrevne og hybridrammer forklart med QTP-eksempler
- Parameterisering i QTP forklart med eksempler (del 1) - QTP opplæring # 19
- QTP Opplæring # 6 - Forstå innstillinger for QTP Record og Run for vår første test
- QTP Opplæring # 24 - Bruk av virtuelle objekter og gjenopprettingsscenarier i QTP-tester
- MongoDB Opprette databaseopplæring
- Databasetesting med JMeter