【问题标题】:Using global variables across YAML files within Artillery在 Artillery 中跨 YAML 文件使用全局变量
【发布时间】:2019-09-27 08:36:01
【问题描述】:

我有什么办法可以说,定义一个 URI 将在不同的 .yml 文件中用于不同的 Artillery 负载测试?

我想在多个 .yml 文件中使用相同的 URI 来定义 config 部分中的 target

我在Artillery docs看到了以下内容:

可以通过 $processEnvironment 模板变量下的环境变量动态设置值。

例如,通过 SERVICE_API_KEY 环境变量为所有请求设置默认 HTTP 标头

他们展示了一个示例文档:

导出 SERVICE_API_KEY="012345-my-api-key"

火炮运行 my-test.yml

但是我不确定如何实现这一点,因为我正在使用 package.json 文件来运行 artillery run my-test.yml 命令。

【问题讨论】:

  • YMLYAML 不同,并且 YAML 文件的推荐扩展名至少自 2006 年 9 月以来一直是 .yaml。您引用的示例使用了正确的文件名,您似乎在您的帖子的其余部分中误读/歪曲了..
  • @Anthon - 哎呀。在那里混合网络示例和我自己的代码库。现在编辑为一致。除了我的语法错误之外,对此事有什么想法吗?
  • 抱歉,没有。我会收到带有 yaml 标记的帖子的通知(因为我为 YAML 开发了一个 Python 加载/转储程序包),但我不知道 Artillery。
  • @Anthon 道歉,点击我看到的第一个。现已将标签更改为 app.yaml。

标签: javascript global-variables app.yaml artillery


【解决方案1】:

这是我自己想出来的:

在 package.json 中创建一个新脚本。随心所欲地调用它,并执行类似的操作:

"scripts": {
    "start": "set ENV=https://yoursite.com&&artillery run -k yourtest.yml"
}

在 .yml 文件本身中是这样的:

config:
  target: "{{$processEnvironment.ENV}}"

这样称呼它:

npm run start

【讨论】:

  • 有没有一种方法可以指定多个变量?
  • 您可以拆分 common-config.yml 作为另一个选项。请参阅此处的 --config 部分:artillery.io/docs/cli-reference
【解决方案2】:

IDK 为什么对我来说导出有效,我的意思是:

"scripts": {
    "start": "export ENV=https://yoursite.com&&artillery run -k yourtest.yml"
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多