k6 - tlsAuth в файле конфигурации с файлами *.crt

Запрос связан со следующими параметрами конфигурации в инструменте 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
}

Ожидается определить все мои параметры k6 через файл конфигурации, включая параметр tlsAuth, и использовать определенные сертификаты из другой папки. Не хотите определять параметры k6 в основном файле js.

Добрый совет. Заранее спасибо и приношу свои извинения, если это проблема простого уровня кодирования.


person Saurabh Vyas    schedule 18.07.2019    source источник


Ответы (1)


Для начала с более простых вопросов:

Попытка понять параметр конфигурации minIterationDuration. Ожидает ли k6, если функция по умолчанию завершит выполнение раньше, чем это определенное время?

Да

В другом сценарии не ждет ли он времени, когда функция по умолчанию завершает выполнение за время, превышающее указанную продолжительность?

Да. И было бы более читаемо, если бы вы определили minIterationDuration с его единицей настройки, например, "2s" или "400ms".

Для tlsAuth нельзя поместить «open» в файл json, как показано ниже. Так что же это за работа?

Этот файл JSON представляет собой простой файл данных, в нем не может быть никаких функций, таких как open(). open() будет работать только в JS-скрипте, который выполняет k6 — он просто читает содержимое файла и по умолчанию возвращает его в виде строки. Итак, если вам нужна опция tlsAuth в конфигурации JSON, вы должны указать ее в виде строки, хотя и очень большой.

Не хотите определять параметры k6 в основном файле js.

У вас может быть гибридный подход. Вы можете иметь большую часть своей конфигурации в простом файле JSON или JS, open() или import в основном файле JS и снова экспортировать его как скрипт options:


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

person na--    schedule 18.07.2019
comment
Ах, вот почему у меня не работала функция minIterationDuration, так как я не задавал для нее никаких единиц измерения. Разобрался и теперь работает. Для tlsAuth с файлом сертификата мне еще предстоит попробовать его в своем наборе тестов. Но я думаю, это должно работать с гибридным подходом. Принятие ответа. Вернемся в случае проблем. - person Saurabh Vyas; 26.07.2019