JMeter を使用して Eclipse-RAP アプリケーションをテストしています。
RAP では、クライアント (ブラウザーの JavaScript フレームワーク) は、json ベースのプロトコルを介してサーバーと通信します。
メッセージは次のようになります。
{"head":{"requestCounter":3,"uiSessionId":"832834"},"operations":[["set","w1",{"bounds": [0,0,1680,893],"cursorLocation":[1262,-1]}]]}
uiSessionId. I extracted this id using a "Regular Expression Extractor" and stored it in a variable named
ご覧のとおり、 UI_SESSION_ID`に保存されているセッション ID があります。
次に、記録された HTTP リクエストの生の「投稿本文」を編集しました。
{"head":{"requestCounter":3,"uiSessionId":"${UI_SESSION_ID}"},"operations":[["set","w1",{"bounds": [0,0,1680,893],"cursorLocation":[1262,-1]}]]}
そしてそれは動作します。
しかし、私は多くの可能性がある各HTTPリクエストの各ポストボディを変更する必要があります. いくつかの調査の後、「BeanShell PreProcessor」を使用するのが正しいと思いましたが、
var sampler = ctx.getCurrentSampler();
HTTPSampler が提供されますが、投稿本文を取得し、セッション ID を変数に置き換えて、変更された投稿本文を設定できるメソッドが見つかりませんでした。
JavaDoc: http://jmeter.apache.org/api/org/apache/jmeter/protocol/http/sampler/HTTPSampler.html
uiSessionId
すべてのリクエストを手動で変更せずに変数に置き換える方法を知っていますか?