0

查询与 k6 工具中的以下配置选项有关:

  1. tlsAuth - 如何传递保存在 config.json 文件中另一个文件夹中的证书。
  2. minIterationDuration 选项在 k6 中如何工作?请在 config.json 文件中就其语法提出建议。

我试图在 config.json 中为这两个查询设置如下配置。

  1. 对于 tlsAuth,不能将 'open' 放在 json 文件中,如下所示。那么解决方法是什么?

  2. 试图了解 minIterationDuration 配置选项。如果默认函数在此定义的持续时间之前完成执行,k6 是否会等待?在另一种情况下,当默认函数完成执行的时间超过此定义的持续时间时,它是否会立即等待?

下面是来自 config.json 文件的片段 -> (实际文件也有更多选项)

{
"tlsAuth": [{ 
    "domains": ["example.com"], 
    "cert": open(".\certs\mycert.pem"),
    "key": open(".\certs\mycert-key.pem")
  }],
"minIterationDuration":20
}

期望通过包括 tlsAuth 选项的配置文件定义我的所有 k6 选项,并使用来自另一个文件夹的定义的证书。不想在主 js 文件中定义 k6 选项。

好心提醒。提前致谢,如果这是一个简单的编码级别问题,我深表歉意。

4

1 回答 1

0

从更简单的问题开始:

试图了解 minIterationDuration 配置选项。如果默认函数在此定义的持续时间之前完成执行,k6 是否会等待?

是的

在另一种情况下,当默认函数完成执行的时间超过此定义的持续时间时,它是否会立即等待?

是的。minIterationDuration如果你用它的调谐单元定义它会更易读,比如"2s"or "400ms"

对于 tlsAuth,不能将 'open' 放在 json 文件中,如下所示。那么解决方法是什么?

该 JSON 文件是一个简单的数据文件,它不能有任何类似open()的功能。open()只能在 k6 执行的 JS 脚本中工作 - 它只是读取文件内容并默认将它们作为字符串返回。因此,如果您想要tlsAuthJSON 配置中的选项,则必须将其指定为字符串,尽管它非常大。

不想在主 js 文件中定义 k6 选项。

您可以采用混合方法。您可以将大部分配置保存在一个简单的 JSON 或 JS 文件中,open()或者import将其保存在主 JS 文件中,然后将其作为脚本再次导出options


export let options = JSON.parse(open("my-custom-config.json"))
options.tlsAuth = open("/some/other/file")

于 2019-07-18T11:43:04.577 回答