【问题标题】:Accessing HttpServletRequest and Response from JSR223 sampler within Jmeter从 Jmeter 中的 JSR223 采样器访问 HttpServletRequest 和 Response
【发布时间】:2015-10-08 14:40:37
【问题描述】:

我正在使用具有以下方法的自定义 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 采样器,用户可以在其中登录并创建一个 cookie。我的问题是如何将请求和响应传递给

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

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

【问题讨论】:

    标签: java jmeter jsr223


    【解决方案1】:

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

    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 添加到您的测试计划中,否则您将在尝试通过getCookieManager() 方法访问它时获得null

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多