8

我正在尝试将 Artillery 配置设置为能够发送嵌套的 JSON 正文。这是我的配置的样子:

config:
  target: <URL>
  phases:
    - duration: 10
      arrivalRate: 20
  processor: "./input-parser.js"
scenarios:
  - flow:
    - function: "parseJsonFile"
    - post:
        url: /workflow-instance
        headers:
           Content-Type: "application/json"
        json:
          name: "{{ name }}"
          namespace: "{{ namespace }}"
          template_name: "{{ template_name }}"
          attributes: "{{ attributes }}"
    - get:
        url: "/workflow-instance/status?name={{ template_name }}&namespace={{ namespace }}"

我对“属性”有疑问,因为属性的内容是:

{ pod_name: 'POD_NAME', port: 'PORT_NUMBER' }

所以基本上,这不起作用:

attributes: "{ pod_name: 'POD_NAME', port: 'PORT_NUMBER' }"

还有这个:

attributes:
  pod_name: 'POD_NAME'
  port: 'PORT_NUMBER'

我没有在炮兵文档中找到这种特殊情况的好例子。

4

1 回答 1

0

以下解决方法对我有用将 JSON 数据嵌入 YAML 文件

然后你必须改变你attributes的:

attributes: '{ pod_name: "POD_NAME", port: "PORT_NUMBER" }'

我在用着:

Artillery: 1.7.9
Artillery Pro: not installed (https://artillery.io/pro)
Node.js: v14.6.0
OS: darwin/x64
于 2021-09-28T16:04:02.787 回答