2016-04-21 6 views
0

Ich habe zahlreiche Beispiele für die Einstellung von Eigenschaften aus Cookies betrachtet, und alle scheinen darauf hinzuweisen, dass ich mit einem BeanShell PostProcessor Folgendes machen könnte , mit einem Cookie namens "FOO".

props.put("fooCookie", "${COOKIE_FOO}"); 

Allerdings, wenn ich versuchen, diesen Wert an die Konsole zu schreiben, wie Sie hier sehen ...

print(props.get("fooCookie")); 

... ist der Wert die Zeichenfolge $ immer {COOKIE_FOO} als Wenn die Dollar/geschweifte Klammernotation nicht analysiert wird.

Ich fühle mich, als müsste ich hier etwas schmerzhaft Offensichtliches vermissen, aber nach einigen Stunden des Kampfes bringe ich es zu den Experten. Jeder Rat würde geschätzt werden.

EDIT: Hinzufügen ein bisschen mehr Details. Dies ist das Layout meines Testplanes

Test Plan 
    User Defined Variables 
    HTTP Cookie Manager 
    HTTP Request Defaults 
    Login Thread (setup) 
     [page request - login POST] 
      HTTP Header Manager 
      BeanShell PostProcessor 
     [more page requests] 

Und ich habe in der Tat CookieManager.save.cookies = true Satz in der jmeter.bat-Datei, die ich mit am Start.

Antwort

0

Haben Sie in Ihrem Testplan? Wenn nicht, müssen Sie das haben. Sie müssen auch CookieManager.save.cookies=true in der Datei jmeter.properties festlegen, die Sie im Ordner JMETER_HOME/bin finden.

${COOKIE_FOO} wird den tatsächlichen Cookie-Wert zurückgeben.

+0

Vielen Dank für das Feedback. Ich habe tatsächlich diese Dinge und ich habe meinen Beitrag aktualisiert, um dieses Detail zu geben. –

0
  1. Überprüfen Sie, ob Ihre ${COOKIE_FOO} Variable wirklich gesetzt Debug Sampler und View Results Tree Zuhörer Kombination. Ihr Code ist OK, so dass ich davon ausgehe, dass die Variable nicht gesetzt ist.
  2. Diejenigen, die vorschlagen, Beanshell zu verwenden, wo es möglich ist, die Situation mit JMeter integrierten Testelementen zu behandeln, sollten wahrscheinlich erwägen, IT zu beenden. Es gibt:

Siehe How to Use Variables in Different Thread Groups Leitfaden für Beispiel aus der Praxis.