Variable sources

variable_source block in scenarios

Variable sources

Use with:

Variable sources

csv file

Example

variable_source "users" "file/csv" { file = "users.csv" # required fields = ["user_id", "name", "pass"] # optional ignore_first_line = true # optional delimiter = "," # optional }

Creating a source from csv. Adding the name users to it.

Using variables from this source

{% raw %}{{.source.users[0].user_id}}{% endraw %}

The fields parameter is optional.

If this parameter is not present, the names in the first line of the csv file will be used as field names, if ignore_first_line = false.

If ignore_first_line = true and there are no fields, then ordinal numbers will be used as names

{% raw %}{{.source.users[0].0}}{% endraw %}

json file

Example

variable_source "users" "file/json" { file = "users.json" # required }

Creating a source from a json file. Add the name users to it.

The file must contain any valid json. For example:

{ "data": [ { "id": 1, "name": "user1" }, { "id": 2, "name": "user2" } ] }

Using variables from this source

{% raw %}{{.source.users.data[next].id}}{% endraw %}

Или пример с массивом

[ { "id": 1, "name": "user1" }, { "id": 2, "name": "user2" } ]

Using variables from this source

{% raw %}{{.source.users[next].id}}{% endraw %}

variables

Пример

variable_source "global" "variables" { variables = { host = localhost port = 8090 } }

Creating a source with variables. Add the name global to it.

Using variables from this source

{% raw %}{{.source.global.host}}:{{.source.global.port}}{% endraw %}

An additional feature of this source is the ability to use randomization functions.

For more details, see randomization functions.



Home