descriptive programming qtp
În acest tutorial, veți învăța ce este Programarea descriptivă în QTP , și Conexiune la baza de date în QTP adică cum să vă conectați la surse de date externe, cum ar fi baza de date și foile MS Excel utilizând QTP.
Programarea descriptivă este un mecanism de creare a testelor în care utilizați „Descrierea programatică” a obiectelor în loc să le înregistrați.
=> Faceți clic aici pentru seria Tutoriale QTP de formare
O notă rapidă despre această serie de articole QTP înainte de a trece la detaliile acestui tutorial:
Acesta este ultimul tutorial din seria noastră de instruire QTP online. Sper că v-ați bucurat cu toții de aceste tutoriale și ați început să învățați de la ele.
Dă-ne feedback:
Caut feedback-ul dvs. nu doar pentru această serie de tutoriale, ci despre site-ul general. Vă rog faceți clic aici pentru a vă împărtăși gândurile despre acest site web. Cu greu va dura câteva minute pentru a finaliza. Apreciem feedback-ul și sugestiile dvs. Spuneți-ne ce putem face pentru a vă îmbunătăți experiența cu SoftwareTestingHelp.com
întrebări și răspunsuri de interviu unix pentru experți
Ce veți învăța:
Programare descriptivă în QTP
Programarea descriptivă este un mecanism de creare a testelor în care utilizați „Descrierea programatică” a obiectelor în loc să le înregistrați.
Folosind această tehnică QTP poate fi realizat pentru a identifica obiecte care nu se află în depozit.
Există 2 variante de programare descriptivă:
- Programare descriptivă statică
- Programare descriptivă dinamică
Programare descriptivă statică
O metodă statică este atunci când încercați să accesați un obiect utilizând un set de proprietăți și valori direct într-o instrucțiune VB.
Sintaxă: TestObject („Nume proprietate1: = valoare proprietate”, „nume proprietate 2: = valoare proprietate”, ... .n)
Acesta este modul în care îl utilizați:
cum se implementează un arbore de căutare binară în java
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Programare descriptivă dinamică
Acest lucru funcționează prin crearea unui obiect de descriere. Uitați-vă la următorul exemplu pentru a crea un obiect webButton.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass se referă la clasele predefinite din QTP. Valorile pe care le puteți atribui pot fi butonul web, lista web etc.
- În QTP 10 valorile micClass sunt sensibile la majuscule, dar în QTP 11 nu sunt. Dacă scrieți butonul web în QTP 10, acesta va eșua. Va trebui să scrieți WebButton. Dar același buton web va trece în QTP 11.
Puteți extrage toate obiectele unei anumite clase dintr-o pagină utilizând următoarea declarație:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Setul de declarații de mai sus va extrage toate butoanele de pe o pagină și le va stoca în obiectul ObjectList.
Versatilitatea utilizării programării descriptive este că aceste linii de cod vor funcționa pe orice pagină deschisă. Puteți deschide google.com în browserul dvs. și acesta va conta câte butoane sunt pe pagina respectivă. Va funcționa exact la fel dacă ați deschis amazon.com sau orice alt site.
Acest lucru se datorează faptului că avem numele titlului paginii setat la *, care este o expresie regulată.
Deci, puteți vedea, cum putem scrie cod care poate fi utilizat în mai multe ocazii, prin codificarea necorespunzătoare a valorilor proprietății și prin crearea obiectelor în timpul rulării .
Să ne luăm exemplul puțin mai departe. Spuneți că încerc să imprim numele unuia după altele a tuturor butoanelor web de pe pagină.
Dacă există 4 butoane pe o pagină, puteți accesa fiecare dintre ele în felul următor:
Msgbox ObjectList (0) .GetRoProperty („nume”) –Acesta va imprima numele primului buton.
Msgbox ObjectList (1) .GetRoProperty („nume”)
Msgbox ObjectList (2) .GetRoProperty („nume”)
Msgbox ObjectList (3) .GetRoProperty („nume”)
Rețineți că:
- Indexul obiectelor copil începe de la 0
- Deoarece obiectul își atinge proprietățile în timpul rulării, folosim metoda GetRoProperty pentru a prelua aceleași.
Putem schimba codul de mai sus pentru a funcționa pentru orice număr de Butoane din pagină folosind o „For loop” și repetând instrucțiunile din cadrul „For block” până când ajunge la sfârșitul numărului de obiecte.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Folosirea unei bucle „Pentru buclă” este mai bună, deoarece în acest caz nu trebuie să știți câte obiecte sunt în obiectul descriere.
Câteva puncte de remarcat:
- Veți avea nevoie de practică pentru a stăpâni programarea descriptivă. Indiferent de câte exemple priviți și înțelegeți, veți avea nevoie de experiență practică pentru a lucra cu adevărat cu ea.
- În calitate de tester, nu este de așteptat să știți cum sunt codate obiectele în AUT-ul dvs. și la ce valori sunt setate. Așadar, utilizați ObjectSpy din când în când pentru a alege proprietățile potrivite pentru a vizualiza proprietățile.
- Rezultatele testului vor indica faptul că obiectul testului a fost creat dinamic în timpul sesiunii de rulare folosind o descriere de programare sau metodele ChildObject.
Conectarea la surse de date externe utilizate frecvent de la QTP
Vor fi multe cazuri în timp ce pregătiți testele pe care va trebui să le conectați la un DB extern sau la alte surse de date. Odată conectat, va trebui, de asemenea, să mutați datele către și din aceste aplicații în QTP și invers.
Deși este dincolo de scopul acestor articole să oferim un ghid complet pentru lucrul cu interfețe externe, vom analiza câteva dintre cele mai frecvent utilizate.
Conexiune la baza de date în QTP
Pentru a ne conecta la o bază de date, de obicei folosim un obiect de conexiune ADO. ADO este obiectele de date ActiveX ale Microsoft.
Următorii pași care trebuie urmați:
# 1) Creați un DSN. Vă rugăm să consultați tutorialul pentru punctul de control al bazei de date pentru a vedea cum se realizează acest lucru sau pentru a crea unul din panoul de control.
#Două) Creați un obiect de conexiune:
Setați conn = CreateObject („ADODB.connection”)
# 3) Creați un obiect set de înregistrări. Obiectul setului de înregistrări deține rezultatele interogării pe care urmează să o executăm.
Setați rs = CreateObject („ADODB.RecordSet”)
# 4) Deschideți obiectul de conexiune și rulați interogarea:
conect.Deschideți „DSN = testDB2; UID = swatiseela; pwd = testing @ 123”
rs. Deschideți „Select * from abc”, conn
# 5) Toate rezultatele interogării pot fi acum accesate folosind obiectul „rs”.
# 6) De exemplu, dacă doriți să obțineți numărul de rânduri returnate, puteți utiliza
rs.getrows
# 7) De exemplu, tabelul are 2 rânduri și 3 coloane (a, b, c) puteți accesa valorile după cum urmează:
Msgbox rs.fields (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .c
# 8) Puteți utiliza o instrucțiune buclă dacă există prea multe valori pentru a fi accesate.
# 9) Unele dintre funcțiile pe care le poate utiliza setul de înregistrare sunt: rs.move, rs.movenext, rs.getrows, rs.close, rs.open etc.
Să ne uităm la toate codurile odată:
clonați hard disk-ul la software-ul ssd
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
Conectarea la Foi Excel MS
Știm cu toții că, atunci când deschidem o aplicație Excel, întregul fișier este un registru de lucru care are foi cu coloane și rânduri în care introducem datele.
Următorul este codul și comentariile pentru a vă ajuta să înțelegeți cum se face.
‘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
În afară de funcțiile de mai sus, avem următoarele funcții pe care le putem folosi în funcție de nevoile dumneavoastră.
- excelobj.activeworkbook.sheets.add - Pentru a adăuga o foaie nouă
- excelobj.activeworkbook.sheets (i) .delete - Pentru a șterge o foaie cu indexul i
- excelobj.activeworkbook.sheeets (i) .name = „Numele la alegere” - Pentru a schimba numele unei foi cu indexul i.
- x = excelobj.activeworkbook.sheets.count - pentru a obține numărul de coli dintr-un registru de lucru
- excelobj. activeworkbook.saves „CompletePathWithNewName.xls” - pentru a salva registrul de lucru sub un nume nou
Aceasta finalizează nu doar acest articol, ci seria noastră de instruire QTP. În articolul următor, vom aborda unele mai importante Întrebări de interviu QTP cu răspunsuri . Vă rugăm să ne anunțați comentariile și întrebările dvs.
=> Vizitați aici pentru seria de instruiri QTP de formare
Păstrați atenția pentru articole și tutoriale mai utile despre testarea software-ului! Dacă nu sunteți abonat la newsletter-ul nostru gratuit prin e-mail, vă rugăm să faceți acest lucru până acum făcând clic aici .
Lectură recomandată
- Tutoriale QTP - 25+ Tutoriale de formare Micro Focus Quick Test Professional (QTP)
- Parametrizarea în QTP (Partea 2) - Tutorial QTP # 20
- QTP Tutorial # 18 - Cadrele bazate pe date și hibride explicate cu exemple QTP
- Parametrizarea în QTP explicată cu exemple (Partea 1) - Tutorial QTP # 19
- QTP Tutorial nr. 6 - Înțelegerea setărilor de înregistrare și rulare QTP pentru primul nostru test
- QTP Tutorial # 24 - Utilizarea obiectelor virtuale și scenarii de recuperare în testele QTP
- Tutorial MongoDB Create Database
- Testarea bazei de date cu JMeter