gpt4 book ai didi

node.js - 火炮.io : How to generate test report for each Scenario?

转载 作者:行者123 更新时间:2023-12-04 17:35:18 26 4
gpt4 key购买 nike

Artillery:如何按顺序运行场景并将每个场景的结果显示在同一个文件中?

我目前正在使用 artillery.io 编写 nodejs 测试,以比较我实现的两个端点之间的性能。我定义了两个场景,我想在同一个报告文件中获取每个场景的结果。测试的执行不是按顺序进行的,这意味着在测试结束时我已经得到了一个结果,并且不可能知道每个人的表现,但对于所有人来说。

config:
target: "http://localhost:8080/api/v1"
plugins:
expect: {}
metrics-by-endpoint: {}
phases:
- duration: 60
arrivalRate: 2
environments:
dev:
target: "https://backend.com/api/v1"
phases:
- duration: 60
arrivalRate: 2
scenarios:
- name: "Nashhorn"
flow:
- post:
url: "/casting/nashhorn"
auth:
user: user1
pass: user1
json:
body:
fromFile: "./casting-dataset-01-as-input.json"
options:
filename: "casting_dataset"
conentType: "application/json"
expect:
statusCode: 200
capture:
regexp: '[^]*'
as: 'result'
- log: 'result= {{result}}'

- name: "Nodejs"
flow:
- post:
url: "/casting/nodejs"
auth:
user: user1
pass: user1
json:
body:
fromFile: "./casting-dataset-01-as-input.json"
options:
filename: "casting_dataset"
conentType: "application/json"
expect:
statusCode: 200
capture:
regexp: '[^]*'
as: 'result'
- log: 'result= {{result}}'

如何顺序运行场景并将每个场景的结果显示在同一个文件中?

预先感谢您的回答

最佳答案

我想你错过了参数 weight,这个参数定义了执行场景的概率。如果在第一个场景中将权重设置为 1,而在第二个场景中设置相同的值,则两者将有相同的执行概率 (50%)。

如果您在第一个场景中将 weight 设置为 3,在第二个场景中将 weight 设置为 1,则第二个场景的执行概率为 25%,而第一个将有 75% 的概率被执行。

这与 arrivalRate 参数结合并将 rampTo 的值设置为 2,将导致每秒执行 2 个场景,其中如果将权重设置为1到两种场景,会同时执行。

documentation 中查找情景权重

scenarios:
- flow:
- log: Scenario for GET requests
- get:
url: /v1/url_test_1
name: Scenario for GET requests
weight: 1
- flow:
- log: Scenario for POST requets
- post:
json: {}
url: /v1/url_test_2
name: Scenario for POST
weight: 1

希望对您有所帮助。

关于node.js - 火炮.io : How to generate test report for each Scenario?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56936882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com