使用Artillery.io负载测试器,我尝试在运行场景流之前登录每个VU (我不希望登录请求成为场景结果的一部分),我尝试将登录流移动到beforeScenario,但似乎没有运行。
config:
target: '{{ $processEnvironment.URL }}'
scenarios:
- name: 'Warm Up'
beforeScenario:
flow:
- post:
url: '/login'
json:
username: 'admin'
password: 'password'
capture:
- json: '$.user._id'
as: 'userId'
flow:
- post:
url: '/api/graphql'
json:
- operationName: 'apiRequest'
query: 'query aQuery($userId: ID!) { aQuery: testQuery(userId: $userId) { id name } }'
variables:
userId: '{{ userId }}'有办法做到这一点吗?
发布于 2022-05-25 13:23:11
不确定您是否知道这一点,但我使用了方案之前的“前”部分,并将函数调用到帮助函数,该函数登录并保存access_token。
before:
flow:
- function: "login"
scenarios:
- name: "Create"
- flow:
- post:
url: ""
headers:
Authorization: "Bearer {{access_token}}"发布于 2022-05-27 14:03:09
在“方案”部分之前,您必须使用类似的内容(仅举一个例子):
before:
flow:
- log: "Running the Authorization before virtual users run"
- post:
url: "/users/login"
json:
username: "{{user}}"
password: "{{password}}"
capture:
json: "$.data.token"
as: "accessToken"
strict: false
expect:
- statusCode: 200https://stackoverflow.com/questions/71352640
复制相似问题