API-Tests mit Hilfe von QTP/UFT: Vollständiges Tutorial

⚡ Intelligente Zusammenfassung

API-Tests in QTP/UFT Man validiert einen Dienst direkt, ohne Benutzeroberfläche. Ein API-Test wird als Ablauf von Aktivitäten auf einer Arbeitsfläche erstellt, und Prüfpunkte entscheiden, ob jede Antwort erfolgreich ist.

  • 🔘 Keine grafische Benutzeroberfläche erforderlich: Die Eingaben werden direkt an den Dienst gesendet und die aufgezeichnete Antwort wird mit den Erwartungen verglichen.
  • ☑️ Fünf unterstützte Typen: Webdienste, REST, objektorientierte Programmiersprache, Datenbanken und proprietäre APIs.
  • Aktivitätsablauf, nicht Objekte: Ziehen Sie eine HTTP-Anfrage aus der Toolbox in den Testablauf und legen Sie deren Eigenschaften fest.
  • 🧪 Kontrollpunkte entscheiden über das Ergebnis: Ein Statuscode von 200 signalisiert den erfolgreichen Anruf ohne manuelle Überprüfung.
  • Ergebnisse an einem Ort: Der Run Results Viewer meldet jede Aktivität, ihre Reaktion und das Ergebnis jedes Kontrollpunkts.
  • 📌 Aktuelle Namensgebung: QTP plus HP Service Test wurde UFT, wird jetzt verkauft als OpenText Funktionstests (UFT ein).

Erstellen und Ausführen eines API-Tests in QTP und UFT Eins

Bevor wir eine API testen, müssen wir wissen, was eine API ist. Eine API (Application Programming Interface) ist eine Sammlung von Softwarefunktionen und -prozeduren, die von anderen Softwareanwendungen ausgeführt werden können.

Was ist API-Test?

API-Tests ist eine Softwaretest Methode zur Validierung von Anwendungsprogrammierschnittstellen (APIs). Ziel von API-Tests ist die Prüfung der API hinsichtlich Funktionalität, Zuverlässigkeit, Sicherheit und Leistung. Bei API-Tests wird Software verwendet, um Eingaben an die API zu senden, und die Ausgabe wird aufgezeichnet, um die API zu testen.

API-Testing ist also:

  • Testen ohne GUI
  • Programmatische Simulation von Daten- oder Kontrollflussszenarien.
  • Fokus auf Funktionalitätnicht auf Verhalten oder Kundenerfahrung.

Das untenstehende Diagramm stellt die API-Tests zwischen dem Client, der den Dienst aufruft, und den Daten, die er empfängt, dar.

Umfang der API-Tests zwischen Client- und Datenbankschicht

Warum sind API-Tests wichtig?

API-Testing bietet vier wesentliche Vorteile

1. API-Tests liegen im Trend

Wie die folgende Abbildung zeigt, hat das API-Testing in den letzten zehn Jahren sehr schnell an Bedeutung gewonnen. Es ist weitaus beliebter geworden als andere Testarten.

Diagramm zur Darstellung des Wachstums bei der Nutzung von API-Tests über zehn Jahre

2. Zeitsparend

Mit API-Tests können wir die Testausführungszeit durch parallele Ausführung verkürzen. Im Vergleich zu anderen Testarten lassen sich bis zu 5 % Zeit sparen.

3. Sprachunabhängig

Beim API-Testen werden Daten über ausgetauscht XML or JSONDaher kann jede beliebige Sprache verwendet werden, um die Antwort zu testen. Wenn Sie beispielsweise einen Dienst haben, dessen Antwort im JSON-Format vorliegt, können Sie die Daten problemlos mit [hier fehlende Information] parsen. Java, C# oder jede andere Sprache.

4. Einfache GUI-Integration

Parce que UFT GUI- und API-Tests werden in derselben Lösung ausgeführt. Ein API-Aufruf kann Daten für einen Benutzeroberflächentest bereitstellen, und beide Testarten liefern dieselben Testergebnisse. Dadurch befinden sich die Serviceprüfung und die zugehörige Benutzeroberfläche in einem Projekt anstatt in zwei separaten Toolchains.

API-Tests mit UFT (Einheitliches Funktionstesting)

Es gibt zahlreiche Tools, sowohl Open-Source- als auch kommerzielle. UFT ist eine gute Wahl für die Ausführung von API-Tests, da der Ablauf visuell erstellt wird und die Konfiguration in einem einzigen Eigenschaftenfenster verwaltet wird.

Die letzte Version von QTP, genannt HP Unified Funktionsprüfung (UFT), ist eine Kombination aus HP QTP (ein GUI-Testtool) und HP Service Test (ein API-Testtool). UFT unterstützt Web, Java, .NET, Oracle, Siebel, Webdienste und viele andere wichtige Sprachen und Plattformen, die von älteren Versionen nicht unterstützt wurden.

⚠️ Produktbenennung: das hier beschriebene Werkzeug als HP UFT wird jetzt verkauft als OpenText Funktionstests (UFT Ein), nachdem er von HP zu Micro Focus und dann zu OpenTextDie folgenden Screenshots stammen aus der HP-Ära, daher weicht die Menübeschriftung von den aktuellen Versionen ab, aber der API-Testablauf, die Aktivitäten und die Prüfpunkte funktionieren nach dem gleichen Prinzip.

Art der API-Testunterstützung durch HP UFT

  1. Webservice
  2. REST
  3. Objektorientierte Sprache
  4. Datenbank
  5. Proprietäre API

Starten Sie Ihre ersten API-Tests mit QTP

In diesem API-Test in UFT In diesem Tutorial werden wir Folgendes behandeln: UFT Beispiele für API-Tests. Wir werden die Graph-API von Facebook testen. Wir werden die API wie folgt testen: Testfall unten

  1. Rufen Sie ein Profil des angegebenen Benutzers auf Facebook ab.
  2. Überprüfen Sie, ob das Profil den Erwartungen entspricht.

Hier ist ein Schritt zum Erstellen eines Testablaufs für diese API.

Geplant UFT Testablauf für den Facebook Graph API-Testfall

⚠️ Zu diesem Beispiel: Facebook hat die Graph API v2.3 vor Jahren eingestellt, und das unten gezeigte Zugriffstoken ist längst abgelaufen. Daher liefert der Aufruf keine Daten mehr. Die ursprüngliche Anfrage bleibt unverändert; führen Sie die gleichen Schritte mit einem beliebigen aktuellen REST-Endpunkt aus, um die Vorgehensweise nachzuvollziehen.

Schritt 1) Öffnen HP UFT und ein neues Projekt erstellen: API-Testing

  1. Wählen Start > (Alle) Programme > HP Software > HP Unified Functional Testing > Unified Functional Testing. In den aktuellen Versionen ist dies einfach die UFT Eins Abkürzung.

    Windows Startmenüpfad zur Verknüpfung „HP Unified Functional Testing“

  2. Klicken Sie auf Datei > Neu > Test. Wählen Sie die API-Test tippe

    UFT Dialogfeld „Neuen Test hinzufügen“ mit dem ausgewählten API-Testtyp hinzufügen

  3. Wenn sich ein Dialogfeld öffnet, geben Sie den Namen des API-Tests ein: API_FacebookWählen Sie einen Speicherort für dieses Projekt aus. Klicken Sie Erschaffung um das API-Testprojekt zu erstellen.

    Benennen Sie den neuen API-Test API_Facebook und wählen Sie seinen Speicherort aus.

Schritt 2) Hinzufügen einer HTTP-Anfrage zum Testablauf

Wir werden die HTTP-Anfrage verwenden, um eine Anfrage an die Facebook-API zu senden.

  1. Auswählen Tools > Netzwerk

    Die Netzwerkgruppe expandierte in der UFT Werkzeugkastenbereich

  2. Element ziehen HTTP-Anfrage um den Flow zu testen.

    Die HTTP-Anfrageaktivität wurde auf die UFT API-Testablauf-Canvas

Schritt 3) Parameter konfigurieren und an eine HTTP-Anfrage übergeben

  1. Klicken Sie mit der rechten Maustaste auf HTTP-Anfrage Objekt, das bearbeitet werden soll.

    Rechtsklickmenü auf das HTTP-Anforderungsobjekt im Testablauf

  2. Geben Sie im Abschnitt „Eigenschaften“ Folgendes ein: URL

    Eigenschaftenbereich der HTTP-Anforderungsaktivität mit dem URL Feld

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. Sie können auch einen Parameter an die API übergeben, indem Sie Werte in der Anfragekopf Gitter.

    Das Request-Header-Grid wird verwendet, um zusätzliche Parameter an den API-Aufruf zu übergeben.

    Verwenden Sie die Grafik-API-Explorer um den Wert des Zugriffstokens von Facebook zu erhalten.

  4. Setze die HTTP-Methode zu STARTE.

    Liste der HTTP-Methoden der HTTP-Anforderungsaktivität, die auf GET eingestellt ist

    GET wurde als HTTP-Methode für die Anfrage ausgewählt.

  5. Einrichtung Checkpoints HTTP-AnfrageSetzen Sie den Statuscode auf 200 Im Abschnitt „Checkpoints“ können Sie überprüfen, ob die Aktion erfolgreich war, ohne das Ergebnis manuell prüfen zu müssen. Die Checkpoints bestimmen das Ergebnis des Tests (bestanden/nicht bestanden). Ein Statuscode von 200 bedeutet, dass der Testfall erfolgreich war.

    Checkpoints-Bereich mit dem erwarteten Statuscode 200

Schritt 4) Führen Sie den Test durch

Klicken Sie auf die Führen Sie oder drücken Sie F5Klicken Sie auf , um das Dialogfeld „Test ausführen“ zu öffnen. Führen Sie um den Test zu kompilieren und auszuführen.

UFT Der Dialog „Test ausführen“ wurde über die Schaltfläche „Ausführen“ geöffnet.

Schritt 5) Ergebnis anzeigen

Der Ergebnis-Viewer wird geöffnet. In diesem API-Test wird Folgendes verwendet: UFT Ein fehlgeschlagener Testfall wird beispielsweise wie in der folgenden Abbildung dargestellt.

Ergebnisansicht mit einem fehlgeschlagenen API-Testfall

Wenn der Testfall erfolgreich ist, wird das Ergebnis wie folgt gemeldet.

Ergebnisansicht zeigt an, dass der API-Testfall erfolgreich war

Ihr erster API-Test in UFT ist nun abgeschlossen.

Wo geht hier

Nachdem Sie nun gelernt haben, wie man einen Test mit einem API-Test erstellt, UFTSie können Ihren eigenen Test für Ihre GUI-lose Anwendung erstellen. Hinzufügen eines Kontrollpunkt pro Antwort und Gruppeping Anrufe in Transaktionen sind die üblichen nächsten Schritte.

Häufig gestellte Fragen

Ein GUI-Test steuert die Steuerelemente auf dem Bildschirm und speichert sie als Testobjekte. Ein API-Test ist ein Ablauf von Aktivitäten auf einer Arbeitsfläche, der Anfragen direkt an einen Dienst sendet, sodass nichts von der Benutzeroberfläche aufgezeichnet wird.

Nein. Ein API-Test verwendet Aktivitäten, Eingabe- und Ausgabeeigenschaften sowie Datenquellen anstelle von Testobjekten, daher nein. Objekt-Repository ist beteiligt. Nur GUI-Tests lernen Objekte und speichern deren Beschreibungen.

Importieren Sie die WSDL des Dienstes in den Test. UFT Das Programm liest das Dokument, erstellt für jede vom Dienst bereitgestellte Operation eine Aktivität und fügt diese dem Toolbox-Bereich hinzu, sodass sie wie jede andere Aktivität per Drag & Drop in den Testablauf eingefügt werden können.

Verknüpfen Sie die Eingabeeigenschaften der Aktivität mit einer Datenquelle wie einer Excel-Tabelle oder einer XML-Datei anstelle von ty.ping Literale Werte. Jede Zeile erzeugt dann eine Iteration, und der Ergebnisbetrachter meldet das Ergebnis pro Iteration.

KI-gestützte Tools vergleichen die Ergebnisse verschiedener Testläufe, um Schemaabweichungen und neu auftretende Fehlerfelder zu erkennen, und können wiederholte Fehler nach ihrer wahrscheinlichen Ursache gruppieren. Dies beschleunigt die Fehleranalyse, die erwarteten Werte an jedem Prüfpunkt müssen jedoch weiterhin von einem Experten beurteilt werden.

Copilot ist nützlich für den Code rund um den Test: benutzerdefinierte Aktivitätslogik, Antwortanalyse und Hilfsfunktionen. Es kann jedoch weder den visuellen Testablauf erstellen noch Ihre Servicekonfiguration lesen.tract, daher muss jede Anfrage und jeder vorgeschlagene Prüfpunkt überprüft werden.

SoapUI und Postman sind leichter und kostenlos. UFT Seine Berechtigung findet es dort, wo dasselbe Projekt auch die Benutzeroberfläche umfassen muss, da eine Lizenz und ein Ergebnissatz beide Ebenen abdecken.

Über den HTTP-Statuscode hinaus kann ein API-Test den Inhalt des Antworttextes, einzelne Header-Werte und die zurückgegebenen Daten mit einer erwarteten Quelle vergleichen. Jedes Prüfergebnis wird zusammen mit der Anfrage im Ergebnis-Viewer angezeigt.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: