Taurus:将数值无引号从 CSV 中提取到 JSON 中

问题描述

如何在不添加引号的情况下将数据从 CSV 提取到 JSON 中?

这是我想要生成的:

{"id" : 12345} 

我有一个仅允许使用数值的休息服务,但我无法在不添加引号的情况下从 CSV 中提取

body: { "id": "${id}"}

有效,但它为消息添加了引号 {"id" : "12345"}

body: { "id" : {id} } 

返回:

 Error when reading config file 'test.yml': while parsing a flow mapping
  in "<unicode string>",line 34,column 13:
          body: { "id": ${id} }
                ^
expected ',' or '}',but got '{'
  in "<unicode string>",column 22:
          body: { "id": ${id} }

解决方法

根据documentation,你需要将正文字符串放入引号中:

body: '{ "id": ${id}}'

完整示例,以防您想验证该方法:

execution:
  - concurrency: 1
    scenario: quick-test
scenarios:
  quick-test:
    requests:
      - url: 'http://example.com'
        jsr223:
          - language: groovy
            execute: before
            script-text: 'vars.put("id","12345")'
        method: POST
        body: '{ "id": ${id}}'

更多信息: