Перейти до вмісту

Тестування API REST за 5 хвилин

Мета: почати зі специфікації OpenAPI й дійти до автоматизованого тесту, який перевіряє цілий шлях.

1. Імпортувати специфікацію (30 секунд)

Section titled “1. Імпортувати специфікацію (30 секунд)”

Файл ▸ Імпортувати (Ctrl+I), а потім URL вашого openapi.json.

Restorm будує повне дерево: по теці на кожну мітку, по запиту на кожну операцію, типізовані параметри, документацію та заздалегідь під’єднані заголовки автентифікації з їхніми змінними.

Дерево, отримане після імпорту OpenAPI, готове до використання: по теці на кожну мітку (pet, store, user) і заздалегідь заповнений запит на кожну операцію поряд із початковою підвкладкою теки середовищ

Якщо у вашого API немає специфікації, вставте команду curl — див. Імпорт команд cURL.

2. Заповнити середовище (1 хвилина)

Section titled “2. Заповнити середовище (1 хвилина)”

Відкрийте теку середовищ, створену імпортом. Базовий URL уже там; доповніть змінну автентифікації, яку імпорт підготував за вас.

Створіть друге середовище, якщо перевіряєте кілька цілей, — перемикач у smartbar перемикає всю теку відразу.

3. Надіслати перший виклик (30 секунд)

Section titled “3. Надіслати перший виклик (30 секунд)”

Відкрийте запит і натисніть Send. Показується відповідь: статус, час, заголовки, тіло у згортному переглядачі.

Якщо ви щось забули, обчислене значення під полем URL вам про це скаже.

4. Побудувати сценарій (2 хвилини)

Section titled “4. Побудувати сценарій (2 хвилини)”

Клацніть правою кнопкою ▸ Додати ▸ Сценарій. Шлях «створити, перечитати, видалити»:

Запит HTTP «POST /clients»
└─response──► Assert (eq, 201)
└─► Задати змінну «clientId» ◄── селектор body.id
Запит HTTP «GET /clients/{id}»
└─response──► Assert (eq, 200)
└─► Перевірка схеми (JSON Schema клієнта)
Запит HTTP «DELETE /clients/{id}»
└─response──► Assert (eq, 204)

Усі три запити використовують {{clientId}} у своєму URL: змінну запуску, задану на першому кроці, читають наступні.

З’єднайте їх у ланцюжок, під’єднавши порт done кожної перевірки до порту in наступного запиту, — саме це гарантує порядок.

Натисніть Запуск. Журнал наповнюється; додайте дію Log після кожного кроку, щоб простежити те, що важливо.

Під’єднайте дію Throw до виходу else своїх критичних перевірок: саме це завалить завдання CI.

6. Автоматизувати (30 секунд)

Section titled “6. Автоматизувати (30 секунд)”
Terminal window
RESTORM_TOKEN=rstk_… restorm \
--open ./api.restorm \
--run "Parcours client" \
--headless \
--out run.log

Код виходу 0, якщо все проходить, інакше 1. Приклади для GitHub Actions і GitLab CI див. на сторінці Безекранне виконання та CI.