提问人:k pavan kalyan 提问时间:11/7/2023 最后编辑:k pavan kalyan 更新时间:11/7/2023 访问量:58
如何在 24 小时内处理 OAuth 令牌过期和生成 Jmeter 中的耐久性测试
How to handle OAuth Token Expiration & generation during 24 hours Endurance test in Jmeter
问:
我正在对使用 OAuth 机制的 API 进行性能测试。
**问题:**
- 在测试开始时生成令牌(AP1)并将令牌传递给API2。
- 代币的有效期为12小时。
- 在测试开始时触发令牌 API1 并将令牌传递给 API2,所以我必须在测试中途重新生成令牌 (API1) 并将令牌传递给 API2。
- 耐久性测试总持续时间 : 24 小时
注意:令牌生成时间在令牌生成 API 响应中不存在。
参考了以下博客,但没有成功:
仅在到期时重新运行 getToken(authorization) 请求 - Jmeter
如何在 JMeter 中的负载测试期间处理令牌过期和重新生成。
任何人都可以提出解决方案
答:
0赞
Dmitri T
11/7/2023
#1
您可以执行以下操作:
- 在一个执行身份验证的线程组中获取令牌,并使用流控制操作采样器设置延迟,即 11 小时 30 分钟
- 将令牌传递给正在执行耐久性测试的主线程组,方法是将其保存到第一个线程组的 JMeter 属性中,然后在第二个线程组中使用 __P() 函数读取它
详细信息:将 JMeter 变量用于多个线程组
评论
0赞
k pavan kalyan
11/8/2023
1. 执行身份验证的第一个线程组触发了令牌。假设如果我们设置 60 秒的延迟。2. 第二个线程组,即主线程组执行,直到延迟 60 秒完成才启动。3.您能否告诉我们如何执行第二线程组(即主线程组)并行。
0赞
k pavan kalyan
11/8/2023
正如您所说,遵循线程间通信插件方法。尝试了以下测试计划。1. 身份验证线程组 -> 生成令牌 API 1 HTTP 请求采样器 -> Json 提取器 ->BeanShell 断言存储令牌值 -> jp@gc - 线程间通信 后处理器使用 fifoput 方法 -> 流量控制动作诱导延迟 11 小时 30 分钟
0赞
k pavan kalyan
11/8/2023
2. 主线程组 -> API 2 HTTP Request Sampler -> ${__property(valueToPass)} in Header Manager fields -> jp@gc - Inter-Thread Communication PreProcessor .注意:主线程组必须运行 24 小时,然后身份验证线程组必须在测试开始时一次性发出令牌,并在 11 小时 45 分钟到期之前重新生成令牌。上述方法对我不起作用,您能否提出任何解决方案
评论