Задача. Автоматизация с Postman
Функциональные требования
Межгалактический курьер должен иметь возможность:
- Запрашивать список заказов в статусе CREATED (создано), заказы в других статусах не должны быть возвращены.
Метод | Эндпоинт | Описание | Пример запроса |
---|---|---|---|
GET | /deliveries |
Получить информацию обо всех доставках в статусе создано. |
https://www.tester-today.com/postman-scripts-task/deliveries
|
Формат ответа
Поле | Описание | Обязательность |
---|---|---|
id | Уникальный идентификатор | + |
from.name | Имя отправителя | + |
from.address | Адрес отправителя | + |
to.name | Имя получателя | + |
to.address | Адрес получателя | + |
status | Статус доставки | + |
Пример ответа
[
{
"id": 2,
"from": {
"name": "Кот-астронавт",
"address": "Марс, фабрика 1"
},
"to": {
"name": "Инопланетный друг",
"address": "Район Нептуна"
},
"status": "CREATED"
},
{
"id": 3,
"from": {
"name": "Станция Пиццерия",
"address": "рукав Ориона"
},
"to": {
"name": "Брат кота-астронавта",
"address": "Термосфера Земли, МКС"
},
"status": "CREATED"
}
]
Задача
Автоматизируйте проверку корректности возвращаемых при вызове эндпоинта /deliveries доставок.
В Postman —> Tests напишите скрипт, который будет:
- проверять значение поля status для каждой доставки
- возвращать статус теста PASS, если все заказы имеют статус CREATED
Порядок действий:
-
Получите тело ответа и запишите его в переменную, например, body
const body = pm.response.json();
-
Оформите тест
pm.test("All deliveries should have status CREATED", function () { //to be continued... });
-
Полученное тело ответа — это список доставок.
Вызовите метод forEach на теле ответа в тесте, чтобы пройтись по списку и получить доступ к каждой доставке.pm.test("All deliveries should have status CREATED", function () { body.forEach(function(delivery) { }); });
Переменная delivery — это следующая доставка в списке.
-
В скобках метода expect укажите delivery.field_name
(field_name — имя поля, см. Формат ответа), а в
to.equal — значение, которое должно принимать поле.
pm.test("All deliveries should have status CREATED", function () { body.forEach(function(delivery) { pm.expect(delivery.field_name).to.equal("value"); }); });
При выполнении запросов указывайте данные своей учётной записи в Заголовке Authorization с типом Basic Auth (см. пример).
Задача доступна премиум пользователям!
Уровень повышен!