Proxyman — це твій найліпший друг у тестуванні. Він показує все: які запити йдуть, які відповіді повертаються, що додаток відправив на сервер і яку маячню сервер повернув у відповідь.
🔽 Пройдемось по його функціоналу
🚨 BREAKPOINT — зупинка запиту/відповіді і повний контроль
Breakpoint дозволяє зупинити будь-який запит або відповідь і змінити абсолютно все, перш ніж він потрапить далі.
Ми можемо відредагувати:
✅ Headers
Наприклад, змінити
"Authorization: Bearer …" на неправильний токен→ перевірити, чи правильно працює авторизація
✅ Body (JSON, FormData, будь-що)
Змінити
"role": "user" на "role": "admin"→ перевірити, чи не дасть додаток доступ до адмінки
✅ Status Code
Замість
200 зробити 500, 403 або 404→ перевірити, чи правильно додаток показує помилки та fallback екрани
💡 Приклад:
Ми тестуємо оплату в мобільному банку. Сервер завжди повертає
"status": "success", але дизайнер зробив екран для "status": "failed".Вмикаємо Breakpoint → змінюємо
"status": "success" на "status": "failed" → дивимося, чи коректно працює логіка обробки помилки.🚨 MAP LOCAL — імітація бекенду
Ця функція дозволяє тестувати те, що сервер ще не реалізував.
Створюємо локальний файл
test_products.jsonПідставляємо його через Map Local
Додаток думає, що це справжня відповідь сервера
💡 Приклад:
В API ще нема ключа
"discount": 70, а ми хочемо протестувати відображення великої знижки.У файлі додаємо
"discount": 70 → і все працює.🌐 MAP REMOTE — перенаправлення запитів
Додаток зашитий на
api.qa.com, а треба тестувати на stage.api.qa.com? Без проблем.- Вибираємо запит
- Ставимо Map Remote
- Перенаправляємо на staging
💡 Приклад:
Продакшн повертає 3 товари, stage — 25.
Хочемо перевірити пагінацію (>20) → Map Remote вирішує це.
📌 NO CACHING — завжди свіжа відповідь
Мобільні додатки часто агресивно кешують дані.
Вмикаємо No Caching → кожен запит йде напряму на сервер.
💡 Приклад:
Після оновлення профілю UI показує старі дані.
No Caching швидко показує реальні дані.
⌛ NETWORK CONDITIONS — перевірка різних умов мережі
Моделюємо, як додаток працює:
- у метро
- у селі з 3G
- у роумінгу
- у тролейбусі без інтернету
Proxyman дозволяє:
- повільний інтернет
- високу затримку
- втрату пакетів
💡 Приклад:
Тестуємо сторінку каталогу — при 3G фото вантажаться 10 секунд → перевіряємо placeholders, skeleton loading, стабільність додатку.
✏️ EDIT & REPEAT — тестування бекенду з різними даними
Можна змінювати будь-який запит і повторно відправляти його, без повторного виконання дій у додатку.
- Редагуємо body
- Змінюємо параметри
- Натискаємо Repeat
💡 Приклад:
Тестуємо кошик у додатку доставки їжі. Сервер має обмеження:
Мінімальна кількість: 1
Максимальна: 10
Якщо більше →
"error": "max_quantity_exceeded"Тестуємо edge-cases:
{"product_id": 42, "quantity": 0} // видалення товару
{"product_id": 42, "quantity": -5} // негативне значення
{"product_id": 42, "quantity": 11} // перевищення max
{"product_id": 42, "quantity": 1000} // перевірка на overflow
{"product_id": 42, "quantity": null} // відсутність значення
{"product_id": 42, "quantity": "abc"} // некоректний типЗамість 1000 кліків кнопкою “+”, ми редагуємо запит → Repeat → бачимо реакцію сервера.
🔍 DIFF — порівняння iOS та Android
Proxyman допомагає порівняти запити і відповіді між платформами або середовищами.
- Що змінилося
- Що зникло
- Що додалося
💡 Приклад:
iOS повертає:
{
"product_id": 42,
"name": "Pizza Margherita",
"price": 100,
"discount": 10
}Android повертає:
{
"product_id": 42,
"name": "Pizza Margherita",
"price": 120,
"loyalty_points": 5
}DIFF показує:
"price" змінився → можлива проблема синхронізації"discount" зник → баг на Android"loyalty_points" додалося → нова фіча, яка поки не на iOSProxyman — це must-have для QA. Він дозволяє бачити, змінювати, тестувати, моделювати мережу і перевіряти edge-cases, які UI ніколи не пропустить.
Масон QA | Тестувальник ПЗ