Was ist eine Behauptung?
Die Assertion-Hilfe überprüft, ob Ihr zu testender Server die erwarteten Ergebnisse zurückgibt .
Arten von Behauptungen
Im Folgenden sind einige häufig verwendete Behauptungen in JMeter aufgeführt:
- Antwort Behauptung
- Dauer Behauptung
- Größenbehauptung
- XML-Zusicherung
- HTML-Bestätigung
- Schritte zur Verwendung von Response Assertion
Antwort Behauptung
Mit der Antwortzusicherung können Sie Musterzeichenfolgen hinzufügen, die mit verschiedenen Feldern der Serverantwort verglichen werden sollen.
Beispielsweise senden Sie eine Benutzeranfrage an die Website http://www.google.com und erhalten die Serverantwort. Mit der Antwortzusicherung können Sie überprüfen, ob die Serverantwort die erwartete Musterzeichenfolge enthält (z. B. "OK").
Dauer Behauptung
Die Duration Assertion testet, dass jede Serverantwort innerhalb eines bestimmten Zeitraums empfangen wurde. Jede Antwort, die länger als die angegebene Anzahl von Millisekunden dauert (vom Benutzer angegeben), wird als fehlgeschlagene Antwort markiert.
Beispielsweise wird eine Benutzeranfrage von JMeter an www.google.com gesendet und erhält innerhalb der erwarteten Zeit von 5 ms eine Antwort. Dann ist der Testfall bestanden, andernfalls ist der Testfall fehlgeschlagen.
Größenbehauptung
Die Größenzusicherung testet, dass jede Serverantwort die erwartete Anzahl von Bytes enthält. Sie können festlegen, dass die Größe einer bestimmten Anzahl von Bytes entspricht, größer, kleiner oder ungleich ist.
JMeter sendet eine Benutzeranforderung an www.google.com und erhält ein Antwortpaket mit einer Größe von weniger als dem erwarteten Byte 5000 Byte pro Testfalldurchlauf. Andernfalls ist der Testfall fehlgeschlagen.
XML-Zusicherung
Die XML-Zusicherung testet, dass die Antwortdaten aus einem formal korrekten XML-Dokument bestehen.
HTML-Bestätigung
Mit der HTML-Zusicherung kann der Benutzer die HTML-Syntax der Antwortdaten überprüfen. Dies bedeutet, dass die Antwortdaten der HTML-Syntax entsprechen müssen.
Schritte zur Verwendung von Response Assertion
Wir werden mit dem Skript fortfahren, das wir im vorherigen Tutorial entwickelt haben.
In diesem Test verwenden wir Response Assertion , um das Antwortpaket von www.google.com mit Ihrer erwarteten Zeichenfolge zu vergleichen.
Hier ist die Roadmap für diesen Test:
Über das Kontrollfeld für die Antwortzusicherung können Sie Musterzeichenfolgen hinzufügen, die mit verschiedenen Feldern der Antwort verglichen werden sollen.
Schritt 1) Antwortzusage hinzufügen
Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Hinzufügen -> Zusicherungen -> Antwort-Zusicherung
Der Bereich für die Antwortzusicherung wird wie folgt angezeigt:
Schritt 2) Fügen Sie zum Testen ein Muster hinzu
Wenn Sie eine Anfrage an den Google-Server senden, wird möglicherweise der folgende Antwortcode zurückgegeben :
- 404 : Serverfehler
- 200 : Server OK
- 302 : Der Webserver leitet zu anderen Seiten weiter. Dies geschieht normalerweise, wenn Sie von außerhalb der USA auf google.com zugreifen. Google leitet auf eine länderspezifische Website weiter. Wie unten gezeigt, leitet google.com für indische Nutzer zu google.co.in weiter.
Angenommen, Sie möchten überprüfen, ob der Antwortcode des Webservers google.com das Muster 302 enthält .
Auf Responsefeld zu testen , wählen Sie Response Code,
Klicken Sie im Bereich " Antwortbestätigung" auf " Hinzufügen" -> " Neue leere Eintragsanzeige" -> Geben Sie 302 in "Zu testendes Muster" ein.
Schritt 3) Fügen Sie Assertionsergebnisse hinzu
Klicken Sie mit der rechten Maustaste auf Thread-Gruppe, Hinzufügen -> Listener -> Assertionsergebnisse
Schritt 4) Führen Sie Ihren Test aus
Klicken Sie auf Thread Group -> Assertion Result
Wenn Sie bereit sind, einen Test auszuführen, klicken Sie in der Menüleiste auf die Schaltfläche Ausführen oder auf die Kurztaste Strg + R.
Das Testergebnis wird im Bereich Assertion Results angezeigt. Wenn der Antwortcode des Google-Servers das Muster 302 enthält , wird der Testfall bestanden. Die Meldung wird wie folgt angezeigt:
Zurück zum Response Assertion Panel ändern Sie das zu testende Muster von 302 auf 500.
Da der Antwortcode des Google-Servers dieses Muster nicht enthält, wird der Testfall wie folgt fehlgeschlagen angezeigt :
Fehlerbehebung:
Wenn Sie beim Ausführen der oben genannten Szenarien auf das Problem stoßen, gehen Sie wie folgt vor:
- Überprüfen Sie, ob Sie über einen Proxy eine Verbindung zum Internet herstellen. Wenn ja, entfernen Sie den Proxy.
- Öffnen Sie eine neue Instanz von JMeter
- Öffnen Sie die Datei AssertionTestPlan.jmx in JMeter
- Klicken Sie auf Thread Group -> Assertion Result
- Führen Sie den Test aus