在 Artillery 中跨 YAML 文件使用全局变量
Using global variables across YAML files within Artillery
有什么方法可以让我定义一个 URI,该 URI 将在不同的 .yml 文件中用于不同的 Artillery 负载测试?
我想在多个 .yml 文件中使用相同的 URI 来定义 config
部分中的 target
。
我在 Artillery docs 上看到了以下内容:
Values can be set dynamically via environment variables which are available under $processEnvironment template variable.
For example, to set a default HTTP header for all requests via the SERVICE_API_KEY environment variable
他们展示了一个示例文档:
export SERVICE_API_KEY="012345-my-api-key"
artillery run my-test.yml
但是我不确定如何实现它,因为我正在使用 package.json 文件来 运行 artillery run my-test.yml
命令。
我自己想出来的:
在package.json中创建一个新脚本。随心所欲地命名它,并做类似这样的事情:
"scripts": {
"start": "set ENV=https://yoursite.com&&artillery run -k yourtest.yml"
}
.yml 文件本身是这样的:
config:
target: "{{$processEnvironment.ENV}}"
这样称呼它:
npm run start
IDK 为什么但对我来说导出有效,我的意思是:
"scripts": {
"start": "export ENV=https://yoursite.com&&artillery run -k yourtest.yml"
}
可能不是很复杂但有用的东西是这样的:
config:
target: "https:/"
然后在 url 中,您可以为每种情况 URL 放置其余的
- get:
url: "/myUrl1.com"
- get:
url: "/myUrl2.com"
有什么方法可以让我定义一个 URI,该 URI 将在不同的 .yml 文件中用于不同的 Artillery 负载测试?
我想在多个 .yml 文件中使用相同的 URI 来定义 config
部分中的 target
。
我在 Artillery docs 上看到了以下内容:
Values can be set dynamically via environment variables which are available under $processEnvironment template variable.
For example, to set a default HTTP header for all requests via the SERVICE_API_KEY environment variable
他们展示了一个示例文档:
export SERVICE_API_KEY="012345-my-api-key"
artillery run my-test.yml
但是我不确定如何实现它,因为我正在使用 package.json 文件来 运行 artillery run my-test.yml
命令。
我自己想出来的:
在package.json中创建一个新脚本。随心所欲地命名它,并做类似这样的事情:
"scripts": {
"start": "set ENV=https://yoursite.com&&artillery run -k yourtest.yml"
}
.yml 文件本身是这样的:
config:
target: "{{$processEnvironment.ENV}}"
这样称呼它:
npm run start
IDK 为什么但对我来说导出有效,我的意思是:
"scripts": {
"start": "export ENV=https://yoursite.com&&artillery run -k yourtest.yml"
}
可能不是很复杂但有用的东西是这样的:
config:
target: "https:/"
然后在 url 中,您可以为每种情况 URL 放置其余的
- get:
url: "/myUrl1.com"
- get:
url: "/myUrl2.com"