Handbuch
Version 8.0.1 |
Dieser Abschnitt befasst sich mit der Möglichkeit HTTP-Requests mittels QFTest abzusenden.
Web Dieser sehr spezielle Knoten bietet eine einfache Möglichkeit, einen Web-Request direkt via HTTP/HTTPS an einen Webserver abzusetzen. Die Verwendung ist bei Lasttests oder Szenarien mit Verarbeitung von Massendaten (z.B. Ausfüllen von Formularen) sehr hilfreich, da beim Abspielen die Simulation von Nutzereingaben im SUT und die damit verbundene Abhängigkeit von den Ladezeiten des SUT entfallen. Die Verwendung von Requests stellt somit eine Ergänzung der in Kapitel 32 und Abschnitt 41.4 beschriebenen Funktionalität für Lasttests und datengetriebenes Testen dar. Wenn der vom Server zurückgegebene Statuscode 400 oder größer ist, wird eine Exception geworfen. Die Fehlerstufe kann mit dem Attribut 'Fehlerstufe bei HTTP-Statuscode >= 400' verändert werden. Detailinformationen zu den verschiedenen Statuscodes können sie unter http://www.w3.org/Protocols/HTTP/HTRESP.html nachlesen. Zusätzlich können Sie die Antwort des Servers einer Variablen zuweisen und über das Attribut 'Antwort des Servers in Protokoll schreiben' diese Antwort auch im Protokoll ablegen. |
Enthalten in: Alle Arten von Sequenzen.
Kinder: Keine
Ausführung: Der Request wird via HTTP/HTTPS direkt von QF-Test aus an die angegebene URL geschickt. Wenn der vom Server zurückgegebene Statuscode größer/gleich 400 ist wird eine Exception geworfen. Dieses Verhalten kann über das Attribut 'Fehlerstufe bei HTTP-Statuscode >= 400' beeinflusst werden.
Attribute:
Abbildung 41.86: 'Server-HTTP-Request' Attribute |
Die URL, an die der Request gesendet werden soll, exklusive der Parameter. Als Protokoll sind sowohl HTTP als auch HTTPS zulässig.
Internationalisierte Domainnamen (IDN) werden in der URL ebenso wie Pfade beginnend mit 'file:///' nicht unterstützt.
Variabel: Ja
Einschränkungen: Darf nicht leer sein.
Über dieses Attribut legen Sie die Methode des Requests fest: GET, POST, OPTIONS, PUT, DELETE, HEAD oder TRACE.
Variabel: Ja
Einschränkungen: Keine
Hier können Sie die Parameter für den Request definieren. Die Parameter werden bei der Ausführung kodiert übertragen (URL-Kodierung). Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.
Variabel: Ja
Einschränkungen: Keine
Mit dieser Tabelle können benutzerdefinierte Header spezifiziert werden. Dazu muss der Name des Header-Felds und dessen Wert angegeben werden. Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.
Variabel: Ja
Einschränkungen: Keine
Alternativ oder in Ergänzung zur Headers-Tabelle, können hier weitere Header als Text definiert werden. Damit ist es einfacher, Variablen zu nutzen und ggf. auch Header wegzulassen. Anzugeben ist jeweils ein Header pro Zeile im Format Header: Wert.
Variabel: Ja
Einschränkungen: Keine
Für die Methoden POST, PUT, DELETE bzw. HEAD, kann zusätzlich Payload in Form von XML, JSON oder Text angegeben werden. Dafür muss der Content-Type Header an das entsprechende Format angepasst werden. Die Informationen dazu sind hier zu finden: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type.
Variabel: Ja
Einschränkungen: Keine
Der Name der Variable welcher der HTTP-Statuscode als Wert zugewiesen wird (vgl. Kapitel 6).
Variabel: Ja
Einschränkungen: Keine
Der Name der Variable welcher die Header der Antwort als Wert zugewiesen werden (vgl. Kapitel 6).
Variabel: Ja
Einschränkungen: Keine
Der Name der Variable welcher der Body des Servers (HTTP-Response) als Wert zugewiesen wird (vgl. Kapitel 6).
Variabel: Ja
Einschränkungen: Keine
Ist dieses Attribut nicht gesetzt, werden die Variablen in den globalen Definitionen gebunden. Andernfalls wird - sofern vorhanden - jeweils die oberste aktuelle Definition der Variablen überschrieben, sofern diese innerhalb des aktuellen 'Prozedur', 'Abhängigkeit' oder 'Testfall' Knotens liegt. Gibt es keine solche Definition, wird eine neue Definition im aktuellen 'Prozedur', 'Abhängigkeit' oder 'Testfall' Knoten angelegt, oder, falls kein solcher existiert, im obersten Knoten auf dem Variablen-Stapel mit Fallback auf die globalen Definitionen. Eine Erläuterung dieser Begriffe und weitere Details zu Variablen finden Sie in Kapitel 6.
Über die Option Attribut 'Lokale Variable' standardmäßig aktivieren kann der Wert voreingestellt werden.
Variabel: Nein
Einschränkungen: Keine
Ist dieses Attribut gesetzt, wird zusätzlich zum Status-Code die Antwort des Servers (HTTP-Response) in das Protokoll geschrieben.
Variabel: Ja
Einschränkungen: Keine
Hier kann eine Datei angegeben werden, in welche die Antwort des Servers geschrieben wird. Dadurch können Dateien heruntergeladen werden.
Variabel: Ja
Einschränkungen: QF-Test muss in die Datei schreiben können.
Hier kann die Fehlerstufe von HTTP-Statuscodes, die größer/gleich 400 sind, eingestellt werden.
Variabel: Nein
Einschränkungen: Keine
Zeit in Millisekunden, die maximal verstreichen darf, bis der HTTP-Request erfolgreich durchgeführt wurde. Lassen Sie das Attribut leer wenn Sie unbegrenzt auf die Durchführung warten wollen.
Variabel: Ja
Einschränkungen: Darf nicht negativ sein.
Dieses Attribut legt fest, was bei Überschreitung des Zeitlimits passiert. Ist der
Wert "Exception", wird eine CheckFailedException
geworfen. Andernfalls wird
eine Meldung mit der entsprechenden Fehlerstufe in das Protokoll geschrieben.
Variabel: Nein
Einschränkungen: Keine
Die QF-Test ID ist für diesen Knoten zur Zeit ohne Bedeutung.
Variabel: Nein
Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.
Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.
Variabel: Ja
Einschränkungen: Leer oder >0
Hier können Sie einen beliebigen Kommentar eintragen.
Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Buttons der Kommentar komfortabel bearbeitet werden kann.
Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.
Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.
Variabel: Ja
Einschränkungen: Keine
Web Dieser sehr spezielle Knoten bietet eine einfache Möglichkeit, einen GET oder POST Request direkt via HTTP/HTTPS an einen Webserver abzusetzen. Die Verwendung ist bei Lasttests oder Szenarien mit Verarbeitung von Massendaten (z.B. Ausfüllen von Formularen) sehr hilfreich, da beim Abspielen die Simulation von Nutzereingaben im SUT und die damit verbundene Abhängigkeit von den Ladezeiten des SUT entfallen. Die Verwendung von Requests stellt somit eine Ergänzung der in Kapitel 32 und Abschnitt 41.4 beschriebenen Funktionalität für Lasttests und datengetriebenes Testen dar. |
Enthalten in: Alle Arten von Sequenzen.
Kinder: Keine
Ausführung: Der GET/POST Request wird via HTTP/HTTPS direkt vom Browser aus an die angegebene URL geschickt. Die Ergebnisse des Requests werden im Browser angezeigt.
Attribute:
Abbildung 41.87: 'Browser-HTTP-Request' Attribute |
Der Name unter dem der Java-Prozess des SUT gestartet wurde, in dem der Request ausgeführt werden soll.
Variabel: Ja
Einschränkungen: Darf nicht leer sein.
Die QF-Test ID der 'Webseite' in welcher der Request abgespielt werden soll.
Der "Komponente auswählen" Button öffnet einen Dialog, in dem Sie die Komponente (siehe Kapitel 5) direkt auswählen können. Diesen erreichen Sie auch mittels [Shift-Return] oder [Alt-Return], sofern sich der Fokus im Textfeld befindet. Alternativ können Sie den gewünschten Knoten mittels [Strg-C] bzw. »Bearbeiten«-»Kopieren« kopieren und seine QF-Test ID durch drücken von [Strg-V] in das Textfeld einfügen.
Dieses Attribut unterstützt ein spezielles Format, das es erlaubt, Komponenten in anderen Testsuiten zu referenzieren (siehe Abschnitt 25.1). Des weiteren können Unterelemente von Knoten direkt angegeben werden, ohne dass ein eigener Knoten dafür vorhanden sein muss (siehe Abschnitt 5.9). Bei der Verwendung von SmartIDs können Sie ein GUI-Element direkt über seine Wiedererkennungsmerkmale adressieren. Weitere Informationen hierzu finden Sie in SmartID und 'Komponente'-Knoten versus SmartID.
Variabel: Ja
Einschränkungen: Darf nicht leer sein
Die URL, an die der Request gesendet werden soll, exklusive der Parameter. Als Protokoll sind sowohl HTTP als auch HTTPS zulässig.
Internationalisierte Domainnamen (IDN) werden in der URL ebenso wie Pfade beginnend mit 'file:///' nicht unterstützt.
Variabel: Ja
Einschränkungen: Darf nicht leer sein.
Über dieses Attribut legen Sie die Methode des Requests fest, GET oder POST.
Variabel: Ja
Einschränkungen: Keine
Hier können Sie die Parameter für den Request definieren. Die Parameter werden bei der Ausführung kodiert Übertragung (URL-Kodierung). Näheres zur Arbeit mit der Tabelle finden Sie in Abschnitt 2.2.5.
Variabel: Ja
Einschränkungen: Keine
Die QF-Test ID ist für diesen Knoten zur Zeit ohne Bedeutung.
Variabel: Nein
Einschränkungen: Darf keines der Zeichen '\', '#', '$', '@', '&', oder '%' enthalten und nicht mit einem Unterstrich ('_') beginnen.
Mit diesen Parametern kann vor oder nach der Ausführung eine Verzögerung bewirkt werden. Sind sie nicht gesetzt, wird die Standardverzögerung aus den Optionen verwendet.
Variabel: Ja
Einschränkungen: Leer oder >0
Hier können Sie einen beliebigen Kommentar eintragen.
Hinweis Für die ausführliche Dokumentation, insbesondere von 'Testfallsatz', 'Testfall' oder 'Prozedur' Knoten, ist dieses Textfeld womöglich nicht der geeignete Ort. Es gibt hervorragende Editoren, die wesentlich besser dafür geeignet sind. Mittels der Option Kommando für externen Editor kann ein externer Editor festgelegt werden, in dem nach Drücken von [Alt-Eingabe] oder Klicken des Buttons der Kommentar komfortabel bearbeitet werden kann.
Für einige Knoten können Sie ein spezielles Verhalten per Doctags konfigurieren, siehe Doctags.
Falls bei 'Komponenten' Knoten in dem Bemerkungsfeld eine Eintragung gemacht wurde, wird der Knoten bei der Suche bzw. dem Löschen von ungenutzten Komponenten übersprungen.
Variabel: Ja
Einschränkungen: Keine
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |