artillery run my-script.yaml
为了登录
target
,必须使用令牌。
如何使用令牌运行上述脚本?即:
artillery run my-script.yaml token 983r2fh29hf2893yr72
我假设令牌必须通过标头等方式提供给 API。火炮提供了多种实现此目的的机制。如果令牌是静态的(即您提前知道令牌),那么您可以简单地在测试脚本中使用内联变量来执行此操作。
例如:
my-script.yaml
config:
target: "https://yourapi.com"
phases:
- duration: 1
arrivalRate: 1
variables:
apiToken: 983r2fh29hf2893yr72
scenarios:
- flow:
- get:
url: "/"
headers:
Authorization: "Bearer {{ apiToken }}"
然后您只需运行脚本(即
artillery run my-script.yaml
)
如果令牌是动态的(例如,您之前需要调用端点进行身份验证并获取令牌),那么您可能需要使用自定义 JavaScript 函数,例如场景挂钩:https://www.artillery.io/文档/参考/引擎/http#setting-scenario-level-hooks。或者,也可以在所有场景之前运行一次
before
(https://www.artillery.io/docs/reference/test-script#before-and-after-sections)。
但是从你的描述来看,听起来我给出的第一个例子就是你所需要的。