在 AzureDevOps 中运行 JMeter 脚本 - 生成承载访问令牌

问题描述 投票:0回答:1

在 Azure DevOps Pipelines 中自动运行和监视基于 Jmeter API 的负载测试

要测试的应用程序需要使用 clientid、客户端密钥和每 24 小时过期的不记名访问令牌登录。

JMeter 脚本已准备就绪,并且在 GUI 模式和本地计算机 CLI 中运行良好。

Azure DevOps Pipelines 中使用相同的脚本,并使用 Azure 进行密码保护。 脚本中的客户端 ID 和密钥将替换为变量名称,该变量名称将替换为 Azure 环境变量管理器中的实际值。 脚本中的 Bearer 访问令牌部分替换为:“Bearer ${AccessToken}”

管道有 JMeter、CLI、上传发布工件。部署成功。当我下载并打开日志时,出现以下错误:

  1. HTTP 请求:400/错误请求
  2. ReportRequest_viewChart:401/未经授权

在日志中,我确实收到如下消息:所有线程组已启动。

重试后,脚本中的 Bearer 访问令牌部分将替换为 ${__groovy(System.getenv('AccessToken'),)}

仍然是相同的错误:“400/错误请求”和“401/未经授权”。

我应该采取什么不同的做法? 问题出在访问令牌部分还是其他地方?

我确实尝试对其他不需要登录的网站运行此测试。他们工作得很好。 请帮忙

azure jmeter automated-tests azure-pipelines access-token
1个回答
0
投票

您的 __groovy() 函数语法正确,它将返回环境变量值(假设已定义)

enter image description here

因此请确保您在管道中正确定义了环境变量

另外,我认为 Bearer 令牌不应该通过环境变量提供,您应该 correlate 它(模拟登录流程并使用合适的 JMeter 后处理器从响应中提取它)

© www.soinside.com 2019 - 2024. All rights reserved.