无法读取炮弹脚本文件中的CSV文件

时间:2019-01-04 02:20:37

标签: node.js testing load-testing artillery

我正在使用火炮进行微服务的负载测试,并且遇到问题。读取csv文件时脚本失败。尝试从文件导入输入数据以创建json请求。

最简单的 script.yml

config:
  target: "http://localhost:8080"
  phases:
    - duration: 1
      arrivalRate: 1
  payload:
    path: "input.csv"
    fields:
     - "flow"
scenarios:
  - flow:
     - log: "this yml log, flow: {{ flow }}"
同一文件夹中的

input.csv 文件:

"flow"
"SomeFlow"

用于执行的最简单命令:

DEBUG=* artillery run script.yml

错误堆栈跟踪:

  artillery:cli Artillery Pro is not installed +0ms
  commands:run defaultOptions:  {
    "_": [
        "run",
        "script.yml"
    ]
} +4ms
/Users/someUser/node_modules/csv-parse/lib/index.js:124
          throw new Error(`Invalid Option: from_line must be a     positive integer greater than 0, got ${JSON.stringify(opts.from_line)}`)
      ^
Error: Invalid Option: from_line must be a positive integer greater     than 0, got at new Parser (/Users/someUser/node_modules/csv-    parse/lib/index.js:124:17)
    at parse (/Users/someUser/node_modules/csv-parse/lib/index.js:838:18)
    at readPayloadFile (/Users/someUser/node_modules/artillery/lib/commands/run.js:257:7)
    at /Users/someUser/node_modules/async/lib/async.js:356:13
    at async.forEachOf.async.eachOf (/Users/someUser/node_modules/async/lib/async.js:233:13)
    at _asyncMap (/Users/someUser/node_modules/async/lib/async.js:355:9)
    at Object.map (/Users/someUser/node_modules/async/lib/async.js:337:20)
    at readPayload (/Users/someUser/node_modules/artillery/lib/commands/run.js:245:9)
    at fn (/Users/someUser/node_modules/async/lib/async.js:746:34)
    at /Users/someUser/node_modules/async/lib/async.js:1213:16

最初,我认为这是Windows特定于平台的问题。然后在OSX上面临同样的问题。 我肯定在这里错过了一些次要的和重要的事情。

1 个答案:

答案 0 :(得分:5)

好像是最新版本的问题。当我降级到1.6.0-24时,它起作用了