当前位置: 首页 > 知识库问答 >
问题:

将会话ID添加到每个JMeter HTTP请求

葛宏爽
2023-03-14

对于我的JMeter测试,我希望测试中的所有线程都使用一个共享会话id。在开始测试作业之前,会话id是已知的。如何为JMeter测试指定特定的JSessionId?

我尝试过在 HTTP Cookie 管理器(在用户定义的 Cookie 下)、HTTP 请求默认值(在请求发送参数下)中附加一个 JSessionId 参数,并且我尝试从录制控制器下的“预处理器”选项卡添加“HTTP URL 重写修饰符”。这些都没有奏效。哪一步是为我的 JMeter 测试设置固定会话 ID 的最佳方式?

共有2个答案

盖锐进
2023-03-14

您需要在 HTTP 请求中添加jp@gc-JSON 路径提取器,该请求在其响应数据中生成会话 ID 的特定 HTTP 请求。如果响应是这样的:

{"sessionId":"f5b06970-f00f-4b44-89c8-305738e19cba","loginDate":1483599209337} 

在JSON路径提取器中添加:

  1. 变量名称 - 会话(将在其中存储会话 ID 的变量)
  2. JSON 表达式 - $.会话 Id(这将根据 JSON 响应而有所不同)
  3. 默认值 - NOT_FOUND

现在下一步是使用这个名为“session”的变量。您可以在HTTP请求中使用它,为此您需要在HTTP头管理器下以< code > x-auth-token = $ { session } 的形式传递会话id

储阳曦
2023-03-14

当您尝试使用HTTP Cookie管理器时,您是正确的,这应该满足您的需要。

可能是因为以下两个原因之一,它不起作用:

要么是你把饼干管理器放在了错误的地方。为了影响所有的请求,它应该位于测试计划或者线程组的根。

或者,更可能的情况是,添加用户定义的Cookie时没有正确指定所有必需的值。这可能很难奏效;您是否确保在字段中没有使用“http://”?

 类似资料:
  • 我找到了很多关于这个问题的答案,但没有解决我的问题-所以我想给你看我的代码,希望有人能找到错误... 我有一个标准的超文本标记语言的形式,给一些数据与POST到下一个. php文件,我得到它,并将其保存到会话变量。我使用会话变量有两个原因: 如果有人重新加载页面,它应该显示与以前相同的信息 我需要在即将到来的php文件中的变量 代码如下: 第一个调用工作精细会话变量被设置,回声给出正确的值。重新加

  • 要使用API,用户需要进行身份验证,一个SESSIONID cookie被添加到他的浏览器中,该cookie将用于请求sessionToken查询参数。 我怎样才能告诉 Swagger 每个请求都需要一个会话令牌查询参数?我可以添加全局查询参数吗?

  • 我一直有一个问题,当请求来自域名而不是localhost时,会话变量不可用。例如,如果我设置一个用户变量: 当客户端发出另一个请求并且我尝试访问用户会话变量时,它返回null。 我注意到,在每个请求中,都会设置一个新的JSESSIONID cookie,并且ID值会更改。这是否意味着每次客户端访问服务器时都会创建一个新会话?如何在客户端之间保持相同的会话,以便我可以在Http会话中存储对象并访问它

  • 我有一个Spring Boot应用程序,它依赖于spring-cloud-starter-sleuth-3.0.3和spring-cloud-sleuth-zipkin-3.0.3。 我需要在从webclient调用API时将跟踪id传递给请求头。 示踪剂。currentSpan()为null,因此引发NPE。 根据文档,给出了将跟踪id添加到响应头的方法https://docs.spring.i

  • 问题内容: 我有登录功能 此函数用于将变量保存到会话中, 但是当新请求检查用户是否登录时 然后返回总是“注销”,因为会话已更改。我使用Redis来存储会话,我认为这是Redis的错误,因为当我停止使用Redis时,可以,请帮帮我! 问题答案: 最好的处理方式是始终让Express处理它(如果可以的话)。 https://flaviocopes.com/express-sessions/(更新了会话

  • 问题内容: 我刚刚启动了一个简单的Java测试项目,该项目使用Hibernate管理某些实体,并提供REST接口来操纵这些对象并提供一些其他业务逻辑。REST接口是使用RESTEasy和Jetty创建的。 到目前为止,一切工作正常,但是我感觉我实际上写了太多样板代码。由于我在这些Java框架中没有太多经验,所以我只是想知道是否有人可以给我提示如何改善这种情况。 每个请求创建hibernate会话