我有这个测试计划,我通过 JMeter 中的 HTTP(S) 测试脚本记录器记录了我的登录。
对于已记录的用户来说效果很好。但是当我尝试更改用户信息时,它不起作用。
这是我的骨架:
在我的帖子组下,
首先,我有“Critical SECtion COntroller”来按顺序运行我的请求,因为我有很多请求。
然后,我有我的“CSV 数据集配置”,我在其中提供了包含我的用户信息的 csv 文件。 (用户名和登录名)
然后,我有“HTTP REquest”,我用它来加载我的登录页面。 (获取请求)
然后,我有我的“录制控制器”来存储录制的脚本元素。在此之下,我有我的“HTTP 请求”,我在其中发送我的凭据(POST 请求)以及不会影响此问题的其他请求。
在我在步骤 4 中提到的请求的“HTTP 标头管理器”中,我没有任何信息,例如“授权”,其中包含“存储在 HEader MANger 中的标头”列下的令牌。然而在网络端,当生成响应承载令牌时。 因此,根据我的搜索输出,我了解到我必须将“正则表达式提取器”放在我在步骤 4 中提到的请求下,以提取生成的令牌并将其传递到下一个请求。
用于提取的变量名称是“BearerToken”,我要提取的正则表达式是
BearerToken=([\S]+)
,作为默认值,我写了“TokenNotFound”
对于进一步请求的“标头管理器”,我确实拥有“授权”等信息,其中包含“存储在 HEader MANger 中的标头”列下的令牌。因此,我只需将标记替换为
Bearer ${BearerToken}
表达式。
最后,我放置“DEbug Sampler”来检查我是否正确地获取了所有内容,即使我正确地获取了用户凭据,我总是得到“TokenNotFound”
我无法提取令牌,因此我无法登录多个用户。
不幸的是,如果没有看到您的响应数据和正则表达式提取器配置,我们无法为您提供帮助。
确保响应包含您正在寻找的模式
确保您的正则表达式可以使用 View Results Tree 侦听器
的“RegExp Tester”模式工作检查正则表达式提取器“应用到”字段及其范围是否正确。
更多信息:JMeter 正则表达式提取器:如何将令牌和会话 ID 提取到变量