查询与k6工具中的以下配置选项有关:
我试图为两个查询在config.json中设置如下配置。
对于tlsAuth,无法将“ open”放置在json文件中,如下所示。那么解决方法是什么?
试图了解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选项。
请告知。预先感谢您,如果这是一个简单的编码级别问题,我深表歉意。
答案 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")