使用Artillery.io 1.6.0-10,我调用一个返回JSON的api,并尝试捕获其中一个值供以后在流中使用,但是捕获似乎不起作用。以下是简化的代码:
get_ddg.yml
config:
target: "https://api.duckduckgo.com"
phases:
- duration: 3
arrivalCount: 1
scenarios:
- name: "Get search"
flow:
- get:
url: "/?q=DuckDuckGo&format=json"
capture:
json: "$.Abstract"
as: "abstract"
- log: "Abstract: {{ $abstract }}"当我运行火炮时,值是空的:
$ artillery run get_ddg.yml
Started phase 0, duration: 3s @ 10:28:34(+0200) 2017-10-25
⠋ Abstract: <----- EMPTY! NO VALUE FOR $abstract
Report @ 10:28:37(+0200) 2017-10-25
Scenarios launched: 1
Scenarios completed: 1
Requests completed: 1
Concurrent users: 1
RPS sent: 2.08
Request latency:
min: 311.9
max: 311.9
median: 311.9
p95: NaN
p99: NaN
Scenario duration:
min: 349.5
max: 349.5
median: 349.5
p95: NaN
p99: NaN
Codes:
200: 1任何帮助都是非常感谢的。
发布于 2017-10-25 12:25:05
找到了解决办法。问题在于捕获后如何读取变量。调用变量的正确方法是不使用'$':
- log: "Abstract: {{ abstract }}" https://stackoverflow.com/questions/46927767
复制相似问题