我正在使用 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-Request 的原始“Post Body”:
{"head":{"requestCounter":3,"uiSessionId":"${UI_SESSION_ID}"},"operations":[["set","w1",{"bounds": [0,0,1680,893],"cursorLocation":[1262,-1]}]]}
它有效。
但是我必须更改每个 HTTP-Request 的每个 Post-Body,这可能很多。经过一些研究,我认为使用“BeanShell PreProcessor”是正确的,但是:
var sampler = ctx.getCurrentSampler();
会给我一个 HTTPSampler,但我没有找到任何方法可以让我检索 post-body,用变量替换 session-id 并设置更改后的 post-body。
JavaDoc:http: //jmeter.apache.org/api/org/apache/jmeter/protocol/http/sampler/HTTPSampler.html
你知道有什么方法可以uiSessionId
在不手动更改每个请求的情况下用变量替换吗?