Алекс Смит: Тестирование ПО с Нуля до Специалиста
February 13

8.10 Проверка полей со Строчным типом данных

На данном уроке начнем писать автотесты для значения полей со строчным типом данных.

Для начала создадим новый запрос на основе Google Maps API

Необходимо создать переменную, где будет хранится тело ответа запроса. В Postman принято, что переменную называем jsonData.

Вот такой запрос получился для проверки по string-полю name:

pm.test("Проверка на содержимое полей", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.name).to.eql("Frontline house")});    

Разберем этот запрос:

  • pm.test("Проверка на содержимое полей", function () - обращаемся к Postman и сообщаем, что это будет тест и указываем название теста (pm.test("Проверка на содержимое полей"). Создаем функцию, которая в себя ничего не включает (function ()).
  • var jsonData = pm.response.json(); - создаем переменную jsonData (var jsonData), в которой обращаемся к ответу запроса и вызываем функцию json() (pm.response.json()) с помощью которой и сохраняем ответ JSON.
  • pm.expect(jsonData.name).to.eql.("Frontline house")}); - затем обращаемся дальше к Postman (pm.) и с помощью функции expect указываем, какое именно поле мы будем проверять ((jsonData.name)). То есть в конструкции сначала обязательно указываем имя переменной (jsonData), а потом поле, которое подлежит проверке (.name) и с помощью eql указываем ожидаемый результат (eql("Frontline house")).

Объяснение ИИ

Этот код в Postman выполняет следующие действия:

  1. pm.test("Проверка на содержимое полей", function () {- Эта строка начинает тест в Postman. Она описывает само тестирование и его цель.
  2. var jsonData = pm.response.json(); - В этой строке переменной jsonData присваивается значение, полученное из тела ответа запроса в формате JSON. pm.response.json() используется для преобразования содержимого ответа в объект JSON.
  3. pm.expect(jsonData.name).to.eql("Frontline house")});- В этой строке используется pm.expect для ожидания определенного результата. Здесь ожидается, что значение свойства name в объекте jsonData будет строго равно строке "Frontline house".

Таким образом, этот код в Postman представляет собой проверку содержимого поля name в объекте JSON, полученном из тела ответа запроса, на равенство строке "Frontline house".

А теперь проверим, действительно ли тест так работает?

Немного испортим проверяемое значение и проведем негативное тестирование

Функция console.log()

С помощью console.log() можно выводить на печать значение того или иного поля (аналог print в Python)

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

Что еще можно увидеть в консоли?

Если нажать на консоль внизу, то можно увидеть все созданные запросы

То есть мы видим метод GET и сразу же URL и все условия, которые мы отправляли в запросе

Так же мы видим ответы на запрос.

Для того, чтобы вывести на печать какую либо переменную: