Переменная тела запроса от JSON не принимает целочисленные значения - PullRequest
1 голос
/ 18 апреля 2020

Мой образец JSON файл для бегуна почтальона:

[ { "name": "runner", "hitler_id": "4006abc", "year": "2017", "boolean": "false", "expected": 717962 } ]

Сценарий предварительного запроса:

var member = data.name; var booking = data.boolean; var fyyear = data.year; var sid = data.hitler_id;
console.log(data.name); console.log(data.boolean); console.log(data.year); console.log(data.hitler_id);

Тело с параметрами:

{ "size": 0, "query": { "bool": { "filter": [ { "terms": { "name": [ "{{name}}" ] } }, { "terms": { "salesman_id": [ "{{sid}}" ] } }, { "terms": { "fyyear": [ "{{fyyear}}" ] } }, { "terms": { "boolean": [ "{{boolean}}" ] } } ] } }, "aggs": { "year": { "terms": { "field": "year" }, "aggs": { "value": { "sum": { "field": "value" } } } } } }

Только для принимаются строковые переменные - имя и логические поля работают, и значение заполняется для для двух других, значения переменных не передаются .

1 Ответ

0 голосов
/ 18 апреля 2020

Переменные не используются в вашем теле запроса таким образом. Либо вам нужно хранить их в глобальных переменных окружения или через

pm.globals.set("variable_key", variable_value)
pm.environment.set("variable_key", "variable_value");

, либо просто пропустить скрипт предварительного запроса, если вы просто хотите использовать свои данные и ссылаться на поля непосредственно в своем теле:

{
    "size": 0,
    "query": {
        "bool": {
            "filter": [
                {
                    "terms": {
                        "name": [
                            "{{name}}"
                        ]
                    }
                },
                {
                    "terms": {
                        "salesman_id": [
                            "{{hitler_id}}"
                        ]
                    }
                },
                {
                    "terms": {
                        "fyyear": [
                            {{year}}
                        ]
                    }
                },
                {
                    "terms": {
                        "boolean": [
                            {{boolean}}
                        ]
                    }
                }
            ]
        }
    },
    "aggs": {
        "year": {
            "terms": {
                "field": "year"
            },
            "aggs": {
                "value": {
                    "sum": {
                        "field": "value"
                    }
                }
            }
        }
    }
}

Однако будьте внимательны, сохраняя значения в файле данных. Вы хранили строки и год как строки ". Но они должны быть представлены так, как вы уже сделали для" ожидаемого "var.

...