k6-具有* .crt文件的配置文件中的tlsAuth

时间:2019-07-18 08:48:27

标签: javascript load-testing k6

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

  1. tlsAuth-如何传递保存在config.json文件内另一个文件夹中的证书。
  2. k6中的minIterationDuration选项如何工作?请在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选项。

请告知。预先感谢您,如果这是一个简单的编码级别问题,我深表歉意。

1 个答案:

答案 0 :(得分:0)

首先要回答一些简单的问题:

  

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

  

在另一种情况下,当默认功能完成执行的时间超过了所定义的持续时间时,是否不等待任何时间?

是的。如果您用其调整单位来定义minIterationDuration,那么它会更易读,例如"2s""400ms"

  

对于tlsAuth,无法按如下所示在json文件中放置“ open”。那么解决方法是什么?

该JSON文件是一个简单的数据文件,其中不能包含类似open()的任何功能。 open()仅在k6执行的JS脚本中起作用-默认情况下,它仅读取文件内容并将其作为字符串返回。因此,如果要在JSON配置中使用tlsAuth选项,则必须将其指定为字符串,尽管它是一个很大的字符串。

  

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

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


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