对于我的JMeter测试,我希望测试中的所有线程都使用一个共享会话ID . 在开始测试作业之前,会话ID已知 . 如何为JMeter测试指定特定的JSessionId?
我尝试在HTTP Cookie管理器中(在用户定义的cookie下),在HTTP请求默认值中(在带有请求的发送参数下)附加一个JSessionId参数,我尝试添加一个'HTTP URL重写修饰符'录制控制器下的预处理器选项卡 . 这些都没有奏效 . 哪一步是为我的JMeter测试设置固定会话ID的最佳方法?
您需要在HTTP请求中添加jp @ gc-JSON Path Extractor,这是在其响应数据中生成会话ID的特定HTTP请求 . 如果响应如下 - {“sessionId”:“f5b06970-f00f-4b44-89c8-305738e19cba”,“loginDate”:1483599209337}
在JSON路径提取器中添加1.变量名称 - 会话(将存储会话ID的变量)2.JSON表达式 - $ .sessionId(这将根据json响应进行varry)3 . 默认值 - NOT_FOUND
现在,下一步是使用名为“session”的变量 . 您可以在HTTP请求中使用它,您需要在HTTP头管理器下传递会话ID,如x-auth-token = $
当你试图使用HTTP Cookie Manager时,你是对的,这应该做你需要的 .
可能由于以下两个原因之一而无效:
您要么将Cookie管理器放在错误的位置 . 要影响所有请求,它应该位于测试计划或线程组的根目录下 .
或者,更有可能的是, domain 字段中没有使用'http://'?
domain
2 回答
您需要在HTTP请求中添加jp @ gc-JSON Path Extractor,这是在其响应数据中生成会话ID的特定HTTP请求 . 如果响应如下 - {“sessionId”:“f5b06970-f00f-4b44-89c8-305738e19cba”,“loginDate”:1483599209337}
在JSON路径提取器中添加1.变量名称 - 会话(将存储会话ID的变量)2.JSON表达式 - $ .sessionId(这将根据json响应进行varry)3 . 默认值 - NOT_FOUND
现在,下一步是使用名为“session”的变量 . 您可以在HTTP请求中使用它,您需要在HTTP头管理器下传递会话ID,如x-auth-token = $
当你试图使用HTTP Cookie Manager时,你是对的,这应该做你需要的 .
可能由于以下两个原因之一而无效:
您要么将Cookie管理器放在错误的位置 . 要影响所有请求,它应该位于测试计划或线程组的根目录下 .
或者,更有可能的是,
domain
字段中没有使用'http://'?