首页 > 解决方案 > 使用 Jmeter 为多个用户凭据生成 OAuth 令牌

问题描述

我正在测试一个托管在 gcloud 中的应用程序,要使用 jmeter 执行测试,我需要 OAuth 令牌来获取相应的用户凭据。我能够为一个凭据生成令牌,但是我无法找到一种方法为多个用户生成它们。

如果有人遇到过这样的问题或有任何瞥见,请告诉我。

笔记:

  1. 我每次迭代都需要一个新的令牌,因为令牌每 60 分钟过期一次

  2. 我能够手动生成令牌来运行测试

  3. 我已经尝试过该过程的身份验证/标头管理器

  4. 我也尝试过控制台身份验证代码生成代码

最重要的是为特定凭证生成身份验证代码,其中我必须保持应用程序处于活动状态。

标签: jmeterperformance-testingjmeter-pluginsjmeter-5.0jmeter-4.0

解决方案


如果您需要每 60 分钟刷新一次令牌,则创建一个单独的线程组是有意义的,该线程组将每 60 分钟执行一次令牌刷新请求。

可以使用__setProperty() 函数将令牌传递给主线程组,您可以通过将其与__threadNum() 函数结合使用来使令牌值线程特定:

  1. 在“令牌”线程组中:

    ${__setProperty(token_${__threadNum},${token},)}
    
  2. 在“主”线程组中,您可以使用__P() 函数读取值:

    ${__P(token_${__threadNum},)}
    

演示:

在此处输入图像描述

更多信息:编织一颗珍珠二:如何在不同线程组中使用变量


推荐阅读