parameterization qtp explained with examples qtp tutorial 19
=> Klicken Sie hier für die QTP Training Tutorials Series
Was du lernen wirst:
- Was ist QTP-Parametrisierung?
- Arten der Parametrisierung in QTP
- Parametrisierung in QTP mit Datatable With Example
- Literatur-Empfehlungen
Was ist QTP-Parametrisierung?
Manchmal akzeptiert die Anwendung keine doppelten Datensätze. In diesem Fall kann eine Anwendung einen Fehler aufgrund von Datenverdopplungen auslösen, wenn Sie dasselbe Testskript mit einem festen Satz von Eingabedaten ausführen. Um dieses Problem zu vermeiden, bietet QTP Möglichkeiten, verschiedene Testeingaben in das Testskript zu akzeptieren.
Dieser Prozess der Bereitstellung unterschiedlicher Eingabewerte über externe Parameter wird als Parametrisierung bezeichnet
Arten der Parametrisierung in QTP
Der Variablenwert kann sein oder die Parametertypen können sein:
- Datentabellenparameter
- Test- / Aktionsparameter
- Parameter für Umgebungsvariablen
- Zufallszahlenparameter
In diesem QTP-Tutorial konzentrieren wir uns hauptsächlich auf die Parametrisierung mit Datatable. Weitere Arten von Parametrisierungsmethoden werden im nächsten Lernprogramm erläutert.
Parametrierung In QTP
Angenommen, Sie versuchen, ein Programm zu schreiben, das die Anmeldewerte einiger Benutzer auf gmail.com überprüft. Das Folgende ist der Code, den Sie für einen Benutzer haben, aber Sie möchten, dass derselbe jedes Mal unterschiedliche Werte annimmt. Wie machst Du das?
Code zum Anmelden bei Google Mail für einen Benutzer:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Wechseln Sie nun zur Schlüsselwortansicht und klicken Sie auf die Wertespalte für die Anweisungen zur E-Mail-ID und zum Kennwortsatz.
VPN für kodi
Der typische Bildschirm, der beim Parametrieren angezeigt wird:
Wie Sie sehen können, kann der Wert entweder eine Konstante sein, in diesem Fall 'swatiseela', die Anmelde-ID.
Oder wenn Sie die Parametrierungsoption wählen, werden die entsprechenden Felder auf dem Bildschirm aktiviert.
In diesem Bildschirm können Sie den ausgewählten Wert entweder mit einem Wert der Datentabelle, der Umgebungsvariablen oder einer Zufallszahl parametrisieren. Da die am häufigsten verwendete Quelle die Datentabelle ist, werden wir dies zuerst diskutieren.
Abgesehen davon können Sie die Eingabe- und Ausgabewerte einer bestimmten Aktion als Parameter für einen Wert verwenden. Wir werden das auch in einer Weile diskutieren.
Parametrisierung in QTP mit Datatable With Example
Parametrierung in QTP mit Excel
Ich habe den Parameterwert ON überprüft und dann gibt es eine Stelle im Feld Datatable, die dem Namen folgt.
wie man Computer für Anfänger programmiert
Name Der entsprechende Spaltenname in der Datentabelle, aus dem die Daten entnommen werden müssen. Standardmäßig schlägt QTP einen Namen vor. Sie haben die Möglichkeit, es wie vorgeschlagen beizubehalten oder nach Bedarf zu ändern.
Global Blatt: Dieses Datenblatt steht allen Aktionen in einem Test zur Verfügung.
Aktuelles Aktionsblatt oder lokales Blatt: Wie der Name schon sagt, ist es das Datenblatt, das einer bestimmten Aktion zur Verfügung steht.
Ich gehe zu mehreren Datenzeilen in das globale Datenblatt. Hier bietet sich das Tool zur Passwortcodierung an. Sie können verschlüsselte Werte in Ihr Datenblatt eingeben, die Sie von diesem Tool erhalten.
So sieht mein Datenblatt aus:
Nach der Parametrierung sieht der Code folgendermaßen aus:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('SignInName', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('GPassword', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close
Im obigen Code sehen Sie, dass die Werte für die E-Mail-ID und das Kennwort aus der Datentabelle stammen.
Dieser Code wird für alle 4 Datenzeilen im globalen Blatt ausgeführt, wenn ich im folgenden Bildschirm die Option 'In allen Zeilen ausführen' aktiviert habe:
mp3 kostenlose Downloads für Android-Handys
Nur für den Fall, dass Sie den obigen Bildschirm nicht verwenden möchten, um zu entscheiden, wie viele Zeilen der Code ausgeführt werden muss, können Sie dies programmgesteuert tun. Dazu müssen Sie im obigen Bildschirm die Option „Nur eine Iteration ausführen“ auswählen und den Code folgendermaßen schreiben:
for i=1 to datatable.GetRowCount SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync datatable.SetCurrentRow(i) varName=datatable.value('SignInName') varPwd=datatable.Value('GPassword') Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set varName Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure varPwd Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close next
Wenn Sie einen Test ausführen, der zwei Iterationen lang ausgeführt wird, sieht der Bildschirm mit den Testergebnissen folgendermaßen aus:
Ich möchte einige Zeit damit verbringen, den Code zu untersuchen und zu verstehen, warum jede Zeile und ihre Reihenfolge für die erfolgreiche Ausführung des Tests wichtig sind:
- Warum öffne ich den Browser in der 'for' -Schleife?
- Warum gibt es überall Synchronisierungsanweisungen?
- Warum schließen wir den Browser am Ende programmgesteuert, anstatt die Option 'Einstellungen aufzeichnen und ausführen - Browser schließen, wenn der Test geschlossen wird' für uns erledigen zu lassen?
- Warum befindet sich die close-Anweisung in der for-Schleife?
Bitte beachten Sie, dass ich im obigen Code die Variablen in diesem Test nicht deklariert, die Anweisungen eingerückt oder Kommentare abgegeben habe. Dies ist absichtlich, da ich das Wesentliche der Aussagen nicht verwässern wollte. Das folgende Konzept beantwortet diese Fragen:
Zustand Ihres AUT:
Die Grundregel lautet: - Jede Iteration sollte damit beginnen, dass der AUT derselbe Zustand ist und im gleichen Zustand endet.
- Wenn sich die Anweisung zum Öffnen der Seite 'gmail.com' außerhalb der for-Schleife befindet, wird der Test für die erste Iteration einwandfrei ausgeführt, für die nächste wird die Seite 'gmail.com' jedoch nicht geöffnet und der Test schlägt fehl.
- Wenn die Anweisung zum Schließen des Browsers nicht im Test enthalten ist, wird beim Test bei jeder Iteration ein Browser geöffnet, und es werden so viele Instanzen des Browsers geöffnet, wie viele Zeilen in der Datentabelle vorhanden sind.
- Stellen Sie sich vor, wenn die close-Anweisung außerhalb der for-Schleife liegt, werden auch zu viele Browser angezeigt.
- Sync-Anweisung: Dadurch wird der QTP-Test gezwungen, zu warten, bis eine bestimmte Seite vollständig geladen ist, bevor eine bestimmte Operation ausgeführt wird.
Versuchen Sie immer, Ihre Bewerbung in den Zustand zurückzusetzen, in dem sie begonnen hat. Dadurch wird sichergestellt, dass Sie für jede Ihrer Iterationen dieselbe Schnittstelle für die Interaktion bereitstellen.
Das Folgende ist der Code, wenn Sie ein lokales Blatt anstelle des globalen verwenden:
Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('Name', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('Pwd', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click
In QTP können Sie folgende Werte parametrisieren:
- Checkpoints.
- Objekteigenschaften für einen ausgewählten Schritt.
- Operationsargumente für einen ausgewählten Schritt definiert.
- Eine oder mehrere Eigenschaften eines Objekts, die im lokalen Objekt-Repository im Dialogfeld Objekteigenschaften oder im Objekt-Repository-Fenster gespeichert sind.
Das Obige ist auch ein Beispiel für Daten, die einen bestimmten Test steuern. Wir werden sehen, wie man mit dem parametriert andere Parametertypen im nächsten Artikel.
=> Besuchen Sie hier die QTP Training Tutorials Series
Literatur-Empfehlungen
- Parametrisierung in QTP (Teil 2) - QTP-Tutorial Nr. 20
- QTP-Tutorials - 25+ QTP-Schulungs-Tutorials (Micro Focus Quick Test Professional)
- Selenium Find Element By Text Tutorial mit Beispielen
- Ausführliche Eclipse-Tutorials für Anfänger
- QTP-Tutorial Nr. 18 - Datengesteuerte und hybride Frameworks mit QTP-Beispielen
- 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
- Beschreibende Programmierung in QTP und Datenbankverbindung in QTP - Tutorial Nr. 25