2017-02-06 6 views
1

Ich habe ein Problem mit der Verwendung von Regexp in Antwort Assertionen in Jmeter als auch in regulären Ausdruck Extraktor verwendet. Hier ist das ein Beispiel Ich habe Probleme mitJmeter Antwort Assertion Regexp

Regulärer Ausdruck Extraktor - extrahiert sessionId von JSON-Antwort „sessionId“: „([^“] +)“, das das valud zwischen dem extrahiert‚‘und dass zur Zeit funktioniert.

die gleiche regexp in Reaktion Assertion verwendet funktioniert nicht.

im Allgemeinen, was ich es s regexp müssen die Werte zwischen Anführungszeichen extrahiert, um in Reaktion Behauptungen verwendet werden

EDIT

Scheint ich das Problem nicht deutlich erklären, meinen schlechten

so, hier ist es - kann es regexp für Antwort Behauptung wie „sessionId“ verwendet werden: „([^“] +)“, dass ich was bedeutet, etwa nur „sessionId“ kümmern: „somevalue anders als null“ und wenn ja, was sollte die regexp aussehen wie

Dank

+0

* In der Regel, was ich brauche es s regexp, die Werte zwischen Anführungszeichen extrahiert * das ist es? Sie nur eine Regex für diesen Zweck? –

+0

Im Allgemeinen ja, regexp, das den Wert zwischen Anführungszeichen aus JSON-Antwort extrahiert, aber so funktioniert das für Response Assertion –

+0

Ich weiß nicht über ** Jmeter **, und es ist besser, Ihr Tag zu bearbeiten und 'JSON' hinzuzufügen, wenn es bezieht sich auf JSON –

Antwort

0

In der Antwort Behauptung sein nur schreiben $ {Verweisname}, wobei Verweis = Variablenname der extrahierter Wert mit dem regulären Ausdruck.

0

Response Assertion ermöglicht das Schreiben von regulären Perl-Ausdrücke für Contains, Matches Optionen.

Contains - für teilweise Übereinstimmung Matches - für die komplette Spiel

Versuchen Sie, die folgende regex:

"sessionid":".*?" 

Wenn Sonderzeichen eine Flucht benötigen, dann \ verwenden zu entkommen wie folgt.

\"sessionid\":\".*?\" 

Achten Sie auf Leerzeichen in der Regex.

Referenz:

  1. http://jmeter.apache.org/usermanual/component_reference.html#Response_Assertion
3

Ich sehe nicht, wie Sie den regulären Ausdruck in der Antwort Behauptung verwenden können, wie Sie sollen eine Form von „erwartetem Ergebnis“ zu haben.

Gegeben, Sie sind in Lage, die SessionId in eine JMeter-Variable zu extrahieren, d.$ {sessionId} Sie sollten in der Lage sein Response Assertion zu verwenden um zu überprüfen, ob es null ist oder nicht über die folgende einfache Konfiguration:

  • Set „Anwenden auf“ Feld des Response-Assertion zu „JMeter Variable“ und setzt die variable Referenznamen dort wie sessionId

    JMeter Response Assertion Variable

Wenn Ihr regulärer Ausdruck wird nicht alles passen, die entsprechenden Sampler fehl mit th e Response was null Nachricht:

JMeter Variable Assertion Null

Siehe How to Use JMeter Assertions in Three Easy Steps Artikel für umfassende Informationen über Behauptungen JMeter mit bedingt auf Ihre Anfrage Stationierung auf verschiedenen Kriterien scheitern

Verwandte Themen