使用 jmeter 以给定的时间间隔重复身份验证令牌请求

Repeat auth token request at given interval using jmeter

我有一个 JMeter 脚本,可以测试大约 25 个不同的 REST API(这不是负载测试,而是 API 功能测试)。所有这些 API 都需要一个基于 OAuth 的访问令牌,我在测试开始时生成该令牌并将其保存在一个变量中,然后所有后续 API 调用都会使用该变量。

问题是令牌的有效期为 10 分钟,如果测试超过该持续时间,则其余调用将失败并显示 401。有没有一种方法可以让我在 5 分钟后重复第一次调用分钟以便新的访问令牌始终可用?谢谢

不确定此图像是否有帮助,但 opentokenID 调用会生成访问令牌,然后是使用它的所有其他调用。我想知道是否有某种机制可以在测试过程中重新执行 opentokenId 调用以获得新的访问令牌。

您想在中间重新执行身份验证令牌请求,然后使用最新的令牌进行进一步的请求。现在,您可以按照以下计划实现此目的:-

1.Simple 有授权请求的控制器。

  1. N多个控制器和请求数。

  2. 你可以在中间放置 "Module Controller" 和 select "Auth Token Simple 控制器”或您拥有的任何控制器。

一旦您的线程到达模块控制器,它将重新执行 Auth 令牌请求,然后继续如下所示。 思想,它不依赖于时间,但我认为它可以满足您的要求。如果需要,您可以在测试计划的多个位置添加 "module controller"。

以下是对我有用的方法。我创建了一个单独的线程组并将身份验证令牌调用移至该组。此外,令牌的过期时间是 10 分钟,所以我设置了一个 7 分钟的计时器并将其放入循环中(实际上是一个 while 控制器,它正在检查一个值是否变为 false 以终止)。因此,线程组每 7 分钟就会执行一次令牌调用。

我将令牌保存在一个变量中并将其传递给另一个线程组。 link 将告诉您如何操作 How do I pass a variable from one Thread Group to another in JMeter