如何使用输入变量运行火炮脚本?

问题描述 投票:0回答:1
artillery run my-script.yaml

为了登录

target
,必须使用令牌。

如何使用令牌运行上述脚本?即:

artillery run my-script.yaml token 983r2fh29hf2893yr72
javascript node.js npm load-testing artillery
1个回答
0
投票

我假设令牌必须通过标头等方式提供给 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)。

但是从你的描述来看,听起来我给出的第一个例子就是你所需要的。

© www.soinside.com 2019 - 2024. All rights reserved.