Повторный почтовый запрос в Почтальоне - PullRequest
2 голосов
/ 02 июля 2019

Мне нужна помощь для выполнения запроса Post повторно в Postman с разными телами.Пример приведен ниже, где название компании должно быть изменено.Было бы лучше прочитать названия компаний из документа или может быть из массива в сценарии.Пожалуйста, совет, как я могу это сделать?

{
  "d": "{{company}}"
}

Я нашел что-то подобное, но я получаю ошибку: (There was an error in evaluating the Pre-request Script: TypeError: Cannot read property 'get' of undefined)

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

if(!companies){
    companies = ["111",
                 "222",
                 "333"];
}

var currentCompany = companies.shift();
pm.enviroment.set("company",currentCompany);
pm.enviroment.set("companies", companies);

Тесты:

var companies = pm.enviroment.get("companies");


if(companies && companies.length > 0){
    postman.setNextRequest("my url");
} else {
    postman.setNextRequest(null);
}

1 Ответ

0 голосов
/ 02 июля 2019

Есть несколько, но небольших ошибок:

  1. неправильно настроена функция установленного окружения: пожалуйста, используйте pm.environment.set (вправо) вместо pm.enviroment.set (ложь)
  2. у вас естьзагрузить компании варьируются от окружающей среды раньше.Добавьте var companies = JSON.parse(pm.environment.get("companies")); в первую строку вашего сценария предварительного запроса.
  3. Убедитесь, что вы сохраняете строковые значения в переменных среды.Используйте JSON.stringify(myObject) например pm.environment.set("company", JSON.stringify(currentCompany)); и аналог JSON.parse (myStringVar) для загрузки переменных в var companies = JSON.parse(pm.enviroment.get("companies"));
  4. (может возникнуть проблема). Пожалуйста, убедитесь, что в Postman, почтальоне-бегуне выбрана средаи новичок.Если среда не установлена, вы можете получить ошибки: enter image description here
...