在Jmeter中访问来自JSR223采样器的HttpServletRequest和Response

时间:2015-10-08 14:40:38

标签: java jmeter jsr223

我使用自定义SDK并使用以下方法:

public Optional<User> retrieveUser(HttpServletRequest request, HttpServletResponse response)

在jmeter中,我使用JSR223采样器来访问此方法:

all the imports here
.
Optional<User> userProfile = new SdkClass().retrieveUser(request,response);

请求和响应是HttpServletRequest和HttpServletResponse

在JSR223之前的步骤中,我有一个HTTPRequest Sampler,用户登录并创建一个cookie。我的问题是如何将请求和响应传递给

new SdkClass().retrieveUser(request,response);

请求应具有在上一步中创建的cookie

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码获取先前的请求和响应详细信息

import org.apache.jmeter.protocol.http.sampler.HTTPSampleResult;
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy;

HTTPSamplerProxy previousSampler = ctx.getPreviousSampler();
CookieManager cookieManager = previousSampler.getCookieManager();
HTTPSampleResult previousResult = (HTTPSampleResult)ctx.getPreviousResult();

请参阅上述类中的JavaDoc:

请务必将HTTP Cookie Manager添加到测试计划中,否则您将尝试null尝试通过getCookieManager()方法访问它。