descriptive programming qtp
In diesem Tutorial lernen Sie Was ist beschreibende Programmierung in QTP? , und Datenbankverbindung in QTP d.h. wie man mit QTP eine Verbindung zu externen Datenquellen wie Datenbank- und MS Excel-Tabellen herstellt.
Die beschreibende Programmierung ist ein Mechanismus zum Erstellen von Tests, bei dem Sie die „programmatische Beschreibung“ von Objekten verwenden, anstatt sie aufzuzeichnen.
=> Klicken Sie hier für die QTP Training Tutorials Series
Ein kurzer Hinweis zu dieser QTP-Artikelserie, bevor wir zu den Details dieses Tutorials übergehen:
Dies ist das letzte Tutorial in unserer Online-QTP-Schulungsreihe. Ich hoffe, euch hat diese Tutorials gefallen und ihr habt angefangen, daraus zu lernen.
Geben Sie uns eine Rückmeldung:
Ich freue mich über Ihr Feedback nicht nur zu dieser Tutorial-Serie, sondern auch zur gesamten Website. Bitte Klicken Sie hier, um Ihre Gedanken zu teilen über diese Website. Die Fertigstellung dauert kaum ein paar Minuten. Wir freuen uns über Ihr Feedback und Ihre Vorschläge. Lassen Sie uns wissen, was wir tun können, um Ihre Erfahrung mit SoftwareTestingHelp.com zu verbessern
coole Dinge, die Sie mit C ++ machen können
Was du lernen wirst:
Beschreibende Programmierung in QTP
Die beschreibende Programmierung ist ein Mechanismus zum Erstellen von Tests, bei dem Sie die „programmatische Beschreibung“ von Objekten verwenden, anstatt sie aufzuzeichnen.
Mit dieser Technik kann QTP erstellt werden, um Objekte zu identifizieren, die sich nicht im Repository befinden.
Es gibt 2 Varianten der beschreibenden Programmierung:
- Statische beschreibende Programmierung
- Dynamische beschreibende Programmierung
Statische beschreibende Programmierung
Eine statische Methode ist, wenn Sie versuchen, auf ein Objekt zuzugreifen, indem Sie eine Reihe von Eigenschaften und Werten direkt in einer VB-Anweisung verwenden.
Syntax: TestObject ('Eigenschaftsname1: = Eigenschaftswert', 'Eigenschaftsname 2: = Eigenschaftswert',… .n)
So verwenden Sie es:
beste Windows-Software zum Klonen von Datenträgern 10
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Dynamische beschreibende Programmierung
Dies funktioniert durch Erstellen eines Beschreibungsobjekts. Sehen Sie sich das folgende Beispiel an, um ein webButton-Objekt zu erstellen.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass bezieht sich auf die vordefinierten Klassen in QTP. Die Werte, die Sie zuweisen können, können Webbutton, Weblist usw. sein.
- In QTP 10 unterscheiden micClass-Werte zwischen Groß- und Kleinschreibung, in QTP 11 jedoch nicht. Wenn Sie einen Webbutton in QTP 10 schreiben, schlägt dies fehl. Sie müssen webButton schreiben. Der gleiche Webbutton wird jedoch in QTP 11 übergeben.
Mit der folgenden Anweisung können Sie alle Objekte einer bestimmten Klasse auf einer Seite extrahieren:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Die obigen Anweisungen extrahieren alle Schaltflächen auf einer Seite und speichern sie im ObjectList-Objekt.
Die Vielseitigkeit der beschreibenden Programmierung besteht darin, dass diese Codezeilen auf jeder geöffneten Seite funktionieren. Sie können google.com in Ihrem Browser öffnen und es wird gezählt, wie viele Schaltflächen sich auf dieser Seite befinden. Es funktioniert genauso, wenn Sie amazon.com oder eine andere Website geöffnet haben.
Dies liegt daran, dass der Name des Titels der Seite auf * gesetzt ist, was ein regulärer Ausdruck ist.
Sie können also sehen, wie wir Code schreiben können, der in mehr als einer Gelegenheit verwendet werden kann, indem wir die Eigenschaftswerte nicht hart codieren und durch Erstellen der Objekte zur Laufzeit .
Lassen Sie uns unser Beispiel etwas weiter gehen. Angenommen, ich versuche, die Namen aller Webbuttons auf der Seite nacheinander auszudrucken.
Wenn eine Seite 4 Schaltflächen enthält, können Sie auf folgende Weise auf jede dieser Schaltflächen zugreifen:
Msgbox ObjectList (0) .GetRoProperty („Name“) - Hiermit wird der Name der ersten Schaltfläche gedruckt.
Msgbox ObjectList (1).GetRoProperty(“name”)
Msgbox ObjectList (2).GetRoProperty(“name”)
Msgbox ObjectList (3).GetRoProperty(“name”)
Beachten Sie, dass:
- Der Index der untergeordneten Objekte beginnt bei 0
- Da das Objekt zur Laufzeit seine Eigenschaften erreicht, verwenden wir die GetRoProperty-Methode, um dasselbe abzurufen.
Wir können den obigen Code so ändern, dass er für eine beliebige Anzahl von Schaltflächen auf der Seite funktioniert, indem wir eine 'For-Schleife' verwenden und die Anweisungen im 'For-Block' wiederholen, bis das Ende der Objektanzahl erreicht ist.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Die Verwendung einer 'For-Schleife' ist besser, da Sie in diesem Fall nicht wissen müssen, wie viele Objekte sich in Ihrem Beschreibungsobjekt befinden.
Ein paar Punkte zu beachten:
- Sie benötigen die Übung, um die beschreibende Programmierung zu beherrschen. Unabhängig davon, wie viele Beispiele Sie betrachten und verstehen, benötigen Sie praktische Erfahrung, um wirklich damit arbeiten zu können.
- Als Tester wird nicht erwartet, dass Sie wissen, wie die Objekte in Ihrem AUT codiert sind und auf welche Werte sie eingestellt sind. Verwenden Sie daher von Zeit zu Zeit ObjectSpy, um die richtigen Eigenschaften zum Anzeigen der Eigenschaften auszuwählen.
- Die Testergebnisse zeigen an, dass das Testobjekt während der Ausführungssitzung mithilfe einer Programmierbeschreibung oder der ChildObject-Methoden dynamisch erstellt wurde.
Herstellen einer Verbindung zu häufig verwendeten externen Datenquellen über QTP
Während Sie die Tests vorbereiten, gibt es viele Fälle, in denen Sie eine Verbindung zu einer externen Datenbank oder anderen Datenquellen herstellen müssen. Sobald die Verbindung hergestellt ist, müssen Sie auch Daten zu und von diesen Apps nach QTP und umgekehrt verschieben.
Obwohl es den Rahmen dieser Artikel sprengt, einen vollständigen Leitfaden für die Arbeit mit externen Schnittstellen bereitzustellen, werden wir einige der am häufigsten verwendeten untersuchen.
Datenbankverbindung In QTP
Um eine Verbindung zu einer Datenbank herzustellen, verwenden wir normalerweise ein ADO-Verbindungsobjekt. ADO ist das ActiveX-Datenobjekt von Microsoft.
Die folgenden Schritte müssen ausgeführt werden:
# 1) Erstellen Sie einen DSN. Lesen Sie das Tutorial zum Datenbankprüfpunkt, um zu erfahren, wie dies gemacht wird, oder erstellen Sie eines über das Bedienfeld.
#zwei) Erstellen Sie ein Verbindungsobjekt:
Setze conn = CreateObject ('ADODB.connection')
#3) Erstellen Sie ein Recordset-Objekt. Das Recordset-Objekt enthält die Ergebnisse der Abfrage, die ausgeführt werden soll.
Setze rs = CreateObject ('ADODB.RecordSet')
# 4) Öffnen Sie das Verbindungsobjekt und führen Sie die Abfrage aus:
conn.Open “DSN = testDB2; UID = swatiseela; pwd = testing @ 123”
Öffnen Sie 'Select * from abc', conn
# 5) Auf alle Abfrageergebnisse kann jetzt mit dem Objekt 'rs' zugegriffen werden.
# 6) Wenn Sie beispielsweise die Anzahl der zurückgegebenen Zeilen abrufen möchten, können Sie diese verwenden
rs.getrows
# 7) Die Tabelle enthält beispielsweise 2 Zeilen und 3 Spalten (a, b, c). Sie können wie folgt auf die Werte zugreifen:
Msgbox rs.fields (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .c
# 8) Sie können eine Schleifenanweisung verwenden, wenn zu viele Werte für den Zugriff vorhanden sind.
# 9) Einige der Funktionen, die das Datensatzgruppenobjekt verwenden kann, sind: rs.move, rs.movenext, rs.getrows, rs.close, rs.open usw.
Lassen Sie uns den gesamten Code auf einmal betrachten:
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
Herstellen einer Verbindung zu MS Excel Sheets
Wir alle wissen, dass beim Öffnen einer Excel-Anwendung die gesamte Datei eine Arbeitsmappe ist, die Blätter mit Spalten und Zeilen enthält, in die wir die Daten einfügen.
Das Folgende ist der Code und die Kommentare, um Ihnen zu helfen, zu verstehen, wie es gemacht wird.
‘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
Abgesehen von den oben genannten Funktionen haben wir die folgenden, die wir je nach Ihren Anforderungen verwenden können.
- excelobj.activeworkbook.sheets.add - So fügen Sie ein neues Blatt hinzu
- excelobj.activeworkbook.sheets (i) .delete - So löschen Sie ein Blatt mit Index i
- excelobj.activeworkbook.sheeets (i) .name = 'Name Ihrer Wahl' - So ändern Sie den Namen eines Blattes mit dem Index i.
- x = excelobj.activeworkbook.sheets.count - um die Anzahl der Blätter in einer Arbeitsmappe zu ermitteln
- excelobj. activeworkbook.saves “CompletePathWithNewName.xls” - um die Arbeitsmappe unter einem neuen Namen zu speichern
Damit ist nicht nur dieser Artikel, sondern auch unsere QTP-Schulungsreihe abgeschlossen. Im nächsten Artikel werden wir einige wichtigere behandeln QTP-Interviewfragen mit Antworten . Bitte teilen Sie uns Ihre Kommentare und Fragen mit.
=> Besuchen Sie hier die QTP Training Tutorials Series
Implementierung eines Binärbaums in C ++ - Quellcode
Weitere nützliche Artikel und Tutorials zum Testen von Software finden Sie hier! Wenn Sie unseren kostenlosen E-Mail-Newsletter nicht abonniert haben, tun Sie dies jetzt bis Klicken Sie hier .
Literatur-Empfehlungen
- QTP-Tutorials - 25+ QTP-Schulungs-Tutorials (Micro Focus Quick Test Professional)
- Parametrisierung in QTP (Teil 2) - QTP-Tutorial Nr. 20
- QTP-Tutorial Nr. 18 - Datengesteuerte und hybride Frameworks mit QTP-Beispielen
- Parametrisierung in QTP anhand von Beispielen erläutert (Teil 1) - QTP-Tutorial Nr. 19
- QTP-Tutorial Nr. 6 - Grundlegendes zu den QTP-Aufnahme- und Ausführungseinstellungen für unseren ersten Test
- QTP-Tutorial Nr. 24 - Verwenden virtueller Objekte und Wiederherstellungsszenarien in QTP-Tests
- MongoDB Tutorial zum Erstellen einer Datenbank
- Datenbanktests mit JMeter