Почтальон, использующий строку, содержит текст с переменной окружения

Надеюсь, это очень просто, но я не мог найти прямой ответ на этот вопрос, где бы я ни искал.

В Почтальоне я хочу использовать приведенный ниже тест, чтобы убедиться, что тело возвращает правильный текст.

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

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

Допустим, например, у меня есть переменная с именем {{foobar}}. В тесте URL для этой переменной будет foo-test.bar.com, а в Dev это будет foo-dev.bar.com. Затем я изменяю тест, чтобы взять переменную вместо строки, например:

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("{{foobar}}");
});

Я предполагаю, что могу использовать одну переменную env для проверки обоих URL, просто переключая среду. Но у меня не должно быть правильного синтаксиса, потому что я получаю длинную ошибку, которая начинается с "AssertionError: Ожидаемый '\r\n\r\n"

Кто-нибудь может оказать помощь? Благодарю.

1 ответ

Решение

Чтобы использовать переменные среды внутри ваших тестов, вы должны использовать метод pm.environment.get("varName"), поэтому ваш тест должен выглядеть следующим образом:

pm.test("Body matches string", function () {
   pm.expect(pm.response.text()).to.include(pm.environment.get("foobar"));
});
Другие вопросы по тегам