【问题标题】:Repeat auth token request at given interval using jmeter使用 jmeter 以给定的时间间隔重复身份验证令牌请求
【发布时间】:2018-04-13 06:16:43
【问题描述】:

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

问题是令牌的到期时间为 10 分钟,如果测试超过该持续时间,则其余调用将失败并显示 401。有没有办法可以重复我在 5 分钟后重复拨打的第一个电话所以新的访问令牌始终可用?谢谢。

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

【问题讨论】:

  • 你能分享你的脚本图像吗? jmeter屏幕截图可以通过json提取器动态提取accesstoken
  • 我正在动态提取访问令牌,但它会在 8 分钟后过期,我需要找出一种方法,让我可以在每 5 分钟后重复一次调用,而其余的测试不受影响
  • 还有其他工具可用于功能 Api 测试 [ApiTestingtools](joecolantonio.com/2017/05/16/…)

标签: jmeter jmeter-4.0


【解决方案1】:

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

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

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

  2. 您可以在两者之间放置“Module Controller”并选择“Auth Token Simple” 控制器”或您拥有的任何控制器。

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

【讨论】:

    【解决方案2】:

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

    我将令牌保存在一个变量中并将其传递给另一个线程组。这个链接会让你知道如何做到这一点How do I pass a variable from one Thread Group to another in JMeter

    【讨论】:

    • 如果可能的话,请您用截图详细说明一下。我也遇到了同样的情况,我想用和你一样的方法。
    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2020-02-03
    相关资源
    最近更新 更多