【发布时间】:2018-11-19 09:53:56
【问题描述】:
我正在尝试在 Jmeter 中进行一些 API 测试。 我试图关注这个https://octoperf.com/blog/2018/04/23/jmeter-rest-api-testing/。但是我需要从cookie中获取token。
谁能给我一个解决方案?使用 Jmeter 5.0 版
【问题讨论】:
标签: jmeter web-api-testing jmeter-5.0
我正在尝试在 Jmeter 中进行一些 API 测试。 我试图关注这个https://octoperf.com/blog/2018/04/23/jmeter-rest-api-testing/。但是我需要从cookie中获取token。
谁能给我一个解决方案?使用 Jmeter 5.0 版
【问题讨论】:
标签: jmeter web-api-testing jmeter-5.0
根据JMeter Best Practices you should always be using the latest version of JMeter,因此考虑在下次有机会时迁移到JMeter 5.0(或JMeter Downloads 页面上提供的任何最新版本)。
如果您要查找的值是 HTTP Cookie - 使用 HTTP Cookie Manager 获取 cookie 值非常有意义
将下一行添加到 user.properties 文件:
CookieManager.save.cookies=true
就是这样,现在您应该将所有传入的 cookie 存储为 JMeter Variables 并带有 COOKIE_ 前缀
【讨论】:
Response headers 选项卡以显示您要提取的值?
上面的link 使用 JSON 提取器来关联值。正如您正确注意到的,JSON 提取器只能用于响应的主体,而不能用于标头(cookie 大多出现在响应标头中)。为此,我们将不得不恢复使用传统的正则表达式提取器。
选择“要检查的字段” 作为“响应标头”,我们就可以开始了。在这种情况下,需要使用正则表达式来提取值,并且无法利用 OPs 链接中使用的方法。
例如,如果我的响应头如下,
如果我想捕获第 11 行中的 NID 令牌作为 Set-Cookie 参数的一部分,我将使用下面的正则表达式。
cookie 值被捕获并可供使用。这在 Debug Sampler 中可见。
有关如何使用正则表达式提取器进行关联的更多信息,请使用此链接How to do Correlation
希望这会有所帮助!
【讨论】: