Функции рандомизации

Вы можете использовать функции для генерации случайных значений

Вы можете использовать функции для генерации рандомных значений

  • randInt
  • randString
  • uuid

Использовать их можно в разных частях сценариев с некоторыми особенностями использования

Использование

uuid

Генерирует случайных uuid v4

randInt

Генерирует псевдослучайное значение

Аргументы не обязательны. При вызове функции без аргументов будет сгенерировано случайное число в диапазоне 0-9

Передать 1 аргумент - будет сгенерировано случайное число в диапазоне от 0 до этого числа

Передать 2 аргумента - будет сгенерировано случайное число в диапазоне между этими числами

randString

Генерирует случайную строку

Аргументы не обязательны. При вызове функции без аргументов будет сгенерирован 1 случайный символ

Передать 1 аргумент (число) X - будет сгенерирована строка длиной X

Передать 2 аргумент (строка символов) Y - для генерации будут использьваны только символы из указанной строки Y

В шаблонах

Так как используется стандартные шаблонизатор Го в нем можно использовать встроенные функции https://pkg.go.dev/text/template#hdr-Functions

uuid

{% raw %}{{ uuid }}{% endraw %}

randInt

без аргументов

{% raw %}{{ randInt }}{% endraw %}

1 аргумент

{% raw %}{{ randInt 10 }}{% endraw %}

2 аргумента

{% raw %}{{ randInt 100 200 }}{% endraw %}

2 аргумента используем из источника переменных

{% raw %}{{ randInt 200 .source.global.max_rand_int }}{% endraw %} 

randString

без аргументов

{% raw %}{{ randString }}{% endraw %}

1 аргумент

{% raw %}{{ randString 10 }}{% endraw %}

2 аргумента

{% raw %}{{ randString 10 abcde }}{% endraw %}

2 аргумента используем из источника переменных

{% raw %}{{ randString 20 .source.global.letters }}{% endraw %}

В источник данных - variables

Вы можете использовать функции генерации рандомный значений в источнике переменных типа variables

Вызов функций необходимо передавать в виде строки (в кавычках)

variable_source "global" "variables" {
  variables = {
    my_uuid = "uuid()"
    my_random_int1 = "randInt()"                # без аргументов
    my_random_int2 = "randInt(10)"              # 1 аргумент
    my_random_int3 = "randInt(100, 200)"        # 2 аргумента
    my_random_string1 = "randString()"          # без аргументов
    my_random_string2 = "randString(10)"        # 1 аргумент
    my_random_string3 = "randString(100, abcde)" # 2 аргумента
  }
}

В препроцессорах

Вы можете использовать функции генерации рандомный значений в препроцессорах

preprocessor {
  mapping = {
    my_uuid = "uuid()"
    my_random_int1 = "randInt()"                # без аргументов
    my_random_int2 = "randInt(10)"              # 1 аргумент
    my_random_int3 = "randInt(100, 200)"        # 2 аргумента
    my_random_int4 = "randInt(100, .request.my_req_name.postprocessor.var_from_response)" # 2 аргумента используем из ответа запроса my_req_name
    my_random_string1 = "randString()"          # без аргументов
    my_random_string2 = "randString(10)"        # 1 аргумент
    my_random_string3 = "randString(100, abcde)" # 2 аргумента
    my_random_string4 = "randString(100, .request.my_req_name.postprocessor.var_from_response)"  # 2 аргумента используем из ответа запроса my_req_name
  }
}

Функции HCL

При парсинге HCL доступны следующие функции