使用jmeter在给定间隔重复验证令牌请求

使用jmeter在给定间隔重复验证令牌请求,jmeter,jmeter-4.0,Jmeter,Jmeter 4.0,我有一个JMeter脚本,它测试大约25个不同的RESTAPI(这不是负载测试,而是API功能测试)。所有这些API都需要一个基于OAuth的访问令牌,我在测试开始时生成该令牌,并将其保存在一个变量中,随后所有API调用都会使用该变量 问题是令牌的到期时间为10分钟,如果测试超过该持续时间,则剩余的调用将以401失败。是否有一种方法可以让我在5分钟后重复我的第一次呼叫,以便始终可以使用新的访问令牌?谢谢 不确定此映像是否有帮助,但opentokenID调用生成访问令牌,然后是使用它的所有其他调

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

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


不确定此映像是否有帮助,但opentokenID调用生成访问令牌,然后是使用它的所有其他调用。我想知道是否有一些机制在测试中间重新执行OpenToNeNID调用,以便获得新的访问令牌。 您希望在中间重新执行身份验证令牌请求,然后使用最新令牌进行进一步请求。现在,您可以按照以下计划实现这一点:-

1.具有身份验证请求的简单控制器

  • N多个控制器和请求的数量

  • 在两者之间,您可以放置“模块控制器”并选择“简单验证令牌” “控制器”或任何控制器

  • 一旦线程到达模块控制器,它将重新执行身份验证令牌请求,然后继续,如下所示。 我想,这并不取决于时间,但我认为它能满足你的要求。如果需要,您可以在测试计划的多个位置添加“模块控制器”


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


    我将令牌保存在一个变量中,并将其传递给另一个线程组。此链接将让您了解如何执行此操作

    您是否可以共享您的脚本图像。jmeter屏幕截图可以通过json提取器动态提取accesstoken我正在动态提取accesstoken,但它会在8分钟后过期,我需要找到一种方法,在测试的其余部分不受影响的情况下,每隔5分钟重复一次调用。还有其他工具可用于功能测试Api测试[ApiTestingtools]()如果可能的话,请用截图详细说明一下。我的处境和你一样,我想用和你一样的方法。