Blazemeter - 如何在 YAML 中进行异步调用?

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

所以,我有 2 个 API,一个 POST 和一个 GET 调用。我在 POST 请求中发送一些 json 数据,它会生成一个

id
作为响应。然后我必须使用
id
发出 GET 请求。我正在测试大数据,所以我需要等到
id
生成。

这是我的 YAML 脚本 -

---
execution:
- concurrency: 30
  ramp-up: 1m
  hold-for: 10m
  scenario: 5K_Export Excel
scenarios:
  5K_Export Excel:
    store-cache: false
    store-cookie: false
    use-dns-cache-mgr: false
    variables:
      calcEngineId: ${calcEngineId}
      url: ${url}
    data-sources:
      # path of .csv files for ${calcEngineId}, ${url} and ${bearerToken}
    requests:
      - label: Post Pivot Data
        url: ${url}/${calcEngineId}/exportPivotDataToExcel
        follow-redirects: true
        method: POST
        headers:
          Content-Type: application/json
          User-Agent: ApacheJMeter
          Authorization: Bearer ${bearerToken1}
        content-encoding: UTF-8
        think-time: 30s
        timeout: 2m
        extract-jsonpath:
          jobId: $.id
        body:
          # body of POST request
      - label: Export To Excel
        url: ${url}/${calcEngineId}/exportPivotDataToExcel/${jobId}
        follow-redirects: true
        method: GET
        headers:
          Content-Type: application/octet-stream
          User-Agent: ApacheJMeter
          Authorization: Bearer ${bearerToken1}
        content-encoding: UTF-8
        think-time: 1m
        timeout: 2m

我正在提取

id
并将其存储在一个名为
jobId
的变量中 -

extract-jsonpath:
          jobId: $.id

然后我在 GET 请求的 url 中使用这个

jobId
,如上所示。

当我在 blazemeter 中运行此命令时,GET 调用显示错误请求,可能是由于在进行 GET 调用时尚未生成

jobId

我尝试在 POST 和 GET 调用之间添加

think-time
60 秒,但没有成功。

- label: Think for 1 Minute
        think-time: 60000

我如何实现这一目标?还有其他方法可以在 YAML 中进行异步调用吗?

我还想提一下,当 POST 调用正文中的数据相对较小时,它工作正常。当数据很大时,比如 10k-15k 行,就会出现问题。

asynchronous yaml performance-testing blazemeter taurus
1个回答
0
投票

在 BlazeMeter 的 Logs Report 中应该有

error.jtl
文件

它包含请求和响应数据以及用于失败采样器的标头,因此您可以检查正在发送的内容以及响应是什么。

此外您还可以:

  1. 创建一个断言以确保您的 POST 请求正在执行其应该执行的操作,尤其是在涉及“大”请求时。如果失败 - 您将能够在
    error.jtl
    文件
  2. 中查看其详细信息
  3. 修改 JMeter 测试日志配置,以便保存所有内容,这样您就可以调试您的测试。
© www.soinside.com 2019 - 2024. All rights reserved.