descriptive programming qtp
U ovom ćete tutorijalu naučiti što je opisno programiranje u QTP-u , i Veza baze podataka u QTP-u tj. kako se pomoću QTP-a povezati s vanjskim izvorima podataka poput listova baze podataka i MS Excel-a.
Opisno programiranje je mehanizam za stvaranje testova gdje koristite 'Programski opis' objekata umjesto da ih bilježite.
=> Kliknite ovdje za seriju QTP Tutorials Training Tutorials
Kratka napomena o ovoj seriji članaka o QTP-u prije nego što prijeđemo na detalje ovog vodiča:
Ovo je zadnji vodič u našoj internetskoj seriji QTP treninga. Nadam se da ste svi uživali u ovim vodičima i počeli učiti iz njih.
Pošaljite nam povratne informacije:
Tražim vaše povratne informacije ne samo za ovu seriju vodiča, već i za cjelokupnu web stranicu. Molim kliknite ovdje da podijelite svoje misli o ovom web mjestu. Teško da će trebati par minuta da se završi. Cijenimo vaše povratne informacije i prijedloge. Recite nam što možemo učiniti kako bismo poboljšali vaše iskustvo sa SoftwareTestingHelp.com
kako mogu pronaći mrežni sigurnosni ključ -
Što ćete naučiti:
Opisno programiranje u QTP-u
Opisno programiranje je mehanizam za stvaranje testova gdje koristite 'Programski opis' objekata umjesto da ih bilježite.
Korištenjem ove tehnike QTP se može napraviti za prepoznavanje objekata koji nisu u spremištu.
Postoje 2 varijacije opisnog programiranja:
- Statičko opisno programiranje
- Dinamičko opisno programiranje
Statičko opisno programiranje
Statička metoda je kada pokušavate pristupiti objektu pomoću skupa svojstava i vrijednosti izravno u VB izrazu.
Sintaksa: TestObject ('Naziv svojstva1: = vrijednost svojstva', 'naziv svojstva 2: = vrijednost svojstva', ... .n)
Evo kako ga koristite:
Pitanja i odgovori na intervju za selenski webdriver za trogodišnje iskustvo
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Dinamičko opisno programiranje
To funkcionira stvaranjem objekta opisa. Pogledajte sljedeći primjer za stvaranje objekta webButton.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass se odnosi na unaprijed definirane klase u QTP-u. Vrijednosti koje možete dodijeliti mogu biti web tipka, web popis itd.
- U QTP 10 vrijednosti micClassa razlikuju se malim i velikim slovima, ali u QTP 11 nadalje nisu. Ako web gumb pritisnete u QTP 10, neće uspjeti. Morat ćete napisati webButton. Ali isti će web gumb proći i u QTP 11.
Možete izdvojiti sve objekte određene klase na stranici pomoću sljedeće izjave:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Gore navedeni skup izjava izdvojit će sve gumbe na stranici i pohraniti ih u objekt ObjectList.
Svestranost korištenja opisnog programiranja je da će ovi redovi koda raditi na bilo kojoj otvorenoj stranici. Možete otvoriti google.com u svom pregledniku i on će brojati koliko je gumba na toj stranici. Potpuno će funkcionirati ako ste otvorili amazon.com ili bilo koju drugu stranicu.
To je zato što je naziv naslova stranice postavljen na * što je regularni izraz.
Dakle, možete vidjeti kako možemo napisati kôd koji se može koristiti u više navrata nenapornim kodiranjem vrijednosti svojstva i stvaranje objekata u vrijeme izvođenja .
Uzmimo naš primjer malo dalje. Recimo da pokušavam ispisati imena svih web-gumba na stranici jedan za drugim.
Ako se na stranici nalaze 4 gumba, svakom od njih možete pristupiti na sljedeći način:
Msgbox ObjectList (0) .GetRoProperty (“name”) - Ovo će ispisati ime prvog gumba.
Msgbox ObjectList (1) .GetRoProperty (“ime”)
Msgbox ObjectList (2) .GetRoProperty (“ime”)
Msgbox ObjectList (3) .GetRoProperty (“ime”)
Imajte na umu da:
- Indeks podređenih objekata počinje od 0
- Budući da objekt postiže svoja svojstva tijekom izvođenja, koristimo metodu GetRoProperty za dohvaćanje istih.
Gornji kôd možemo promijeniti tako da radi za bilo koji broj gumba na stranici upotrebom petlje „For“ i ponavljanjem izraza unutar bloka „For“ sve dok ne dosegne kraj brojanja objekata.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Korištenje 'For loop' je bolje jer u ovom slučaju ne trebate znati koliko je objekata u vašem opisnom objektu.
Nekoliko napomena:
- Trebat će vam vježba za svladavanje opisnog programiranja. Bez obzira na to koliko primjera pogledate i razumijete, trebat će vam praktično iskustvo da biste doista surađivali s njim.
- Kao tester ne očekuje se da znate kako su objekti kodirani u vaš AUT i na koje vrijednosti su postavljeni. Stoga povremeno koristite ObjectSpy za odabir pravih svojstava za prikaz svojstava.
- Rezultati ispitivanja ukazat će na to da je testni objekt dinamički kreiran tijekom sesije izvođenja pomoću programskog opisa ili metoda ChildObject.
Povezivanje s uobičajenim vanjskim izvorima podataka iz QTP-a
Tijekom pripreme testova bit će mnogo slučajeva koje ćete morati povezati s vanjskim DB-om ili nekim drugim izvorima podataka. Jednom kad se povežete, morat ćete premjestiti podatke u i iz tih aplikacija na QTP i obrnuto.
Iako je izvan opsega ovih članaka pružanje cjelovitog vodiča za rad s vanjskim sučeljima, proučit ćemo nekoliko najčešće korištenih.
Veza baze podataka u QTP-u
Za povezivanje s bazom podataka obično koristimo ADO objekt povezivanja. ADO je Microsoftov ActiveX podatkovni objekt.
Slijede koraci koje treba slijediti:
# 1) Stvorite DSN. Pogledajte vodič za kontrolnu točku baze podataka da biste vidjeli kako se to radi ili ga stvorite na upravljačkoj ploči.
#dva) Stvorite objekt veze:
Postavi conn = CreateObject (“ADODB.connection”)
# 3) Stvorite objekt skupa zapisa. Objekt zapisa zapisa sadrži rezultate upita koji ćemo pokrenuti.
Postavi rs = CreateObject (“ADODB.RecordSet”)
# 4) Otvorite objekt veze i pokrenite upit:
conn.Open “DSN = testDB2; UID = swatiseela; pwd = testing @ 123”
rs.Otvorite “Select * from abc”, conn
# 5) Svim rezultatima upita sada se može pristupiti pomoću objekta 'rs'.
# 6) Na primjer, ako želite dobiti vraćeni broj redaka, možete koristiti
rs.dolazi
# 7) Na primjer, tablica ima 2 retka i 3 stupca (a, b, c), možete pristupiti vrijednostima na sljedeći način:
Msgbox rs.polja (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.polja (0) .c
# 8) Izraz petlje možete koristiti ako ima previše vrijednosti kojima se može pristupiti.
# 9) Neke od funkcija koje objekt skupa zapisa može koristiti su: rs.move, rs.movenext, rs.getrows, rs.close, rs.open itd.
Pogledajmo sav kod odjednom:
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
Povezivanje s MS Excel listovima
Svi znamo da kada otvorimo excel aplikaciju, cijela je datoteka radna knjiga koja ima listove sa stupcima i retcima u koje stavljamo podatke.
Slijedi kôd i komentari koji će vam pomoći da shvatite kako se to radi.
‘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
Osim gore navedenih funkcija, imamo i sljedeće koje možemo koristiti ovisno o vašim potrebama.
- excelobj.activeworkbook.sheets.add - Da biste dodali novi list
- excelobj.activeworkbook.sheets (i) .delete - Brisanje lista s indeksom i
- excelobj.activeworkbook.sheeets (i) .name = 'Ime po vašem izboru' - Da biste promijenili ime lista indeksom i.
- x = excelobj.activeworkbook.sheets.count - da biste dobili broj koliko je listova u radnoj knjižici
- excelobj. activeworkbook.saves 'CompletePathWithNewName.xls' - za spremanje radne knjige pod novim imenom
Ovim se završava ne samo ovaj članak već i naša QTP serija treninga. U sljedećem ćemo članku obraditi još važnije Pitanja za QTP intervju s odgovorima . Obavijestite nas o svojim komentarima i pitanjima.
=> Posjetite ovdje za seriju QTP Tutorials Training Tutorials
kako otvoriti jar datoteke na Windowsima
Pratite još korisnih članaka i vodiča o testiranju softvera! Ako niste pretplaćeni na naš besplatni bilten e-pošte, učinite to odmah do klikom ovdje .
Preporučena literatura
- QTP tutoriali - 25+ vodiča za stručno osposobljavanje za brzi test Micro Focus (QTP)
- Parametriranje u QTP-u (2. dio) - QTP vodič # 20
- QTP vodič # 18 - Hibridni okviri vođeni podacima i objašnjeni primjerima QTP-a
- Parametriranje u QTP-u objašnjeno primjerima (1. dio) - QTP vodič # 19
- QTP vodič # 6 - Razumijevanje postavki QTP snimanja i pokretanja za naš prvi test
- QTP vodič # 24 - Korištenje virtualnih objekata i scenarija oporavka u QTP testovima
- MongoDB Vodič za izradu baze podataka
- Ispitivanje baze podataka pomoću JMetera