Яж обіцяв зробити вам пост про Fiddler ну так ось він!
Це дуже крутий тул, який часто виручає в дебагінгу, перехопленні трафіку і навіть моках.
Для QA-шника, must-have. Особливо коли треба подивитись, що саме летить в API, а UI мовчить як партизан.
Якщо Charles Proxy це Mac-style тул для перехоплення, то Fiddler, це його батя в світі Windows (але є і для Mac, і для Linux через Everywhere версію).
Без нього дуже складно уявити нормальну роботу з API.
Напишу вам мінімальний гайд по Fiddler від мене і шо я юзаю коли треба.
Обовьязково налаштування SSL
Щоб бачити HTTPS.
Tools > Options > HTTPS
- Ставимо галку на (Decrypt HTTPS traffic)
- Actions > Trust Root Certificate
Готово - бачиш усе, навіть зашифроване.
Фільтри, які реально юзаю
method == "POST"
- тільки POST ну і там можно по кожному методу
responseCode >= 400 && responseCode < 500
- тільки клієнтські помилки
url.contains("/login")- тільки логін
host.contains("api.yourapp.com")- конкретний домен
requestBody.contains("token")- всі запити з токеном
url.matches("/user/\\d+")- всі юзер-запити з ID
responseBody.contains("\"role\":\"admin\"")- відповіді де адмін
Все просто. Жодних UI-шних "фільтрувань", тільки логіка.
ну і куди же без Breakpoints
Fiddler дає змогу ставити точки зупинки.
Rules > Automatic Breakpoints > Before Requests / After Responses
Зупиняє запит, редагуй що хочеш (token, userID, method...)
Також можна вручну через FiddlerScript
if (oSession.uriContains("/auth")) {
oSession["x-breakrequest"] = "true";
}Modify Response (AutoResponder або FiddlerScript)
AutoResponder це твій built-in мок сервер.
Можна замінити будь-яку відповідь без реального бекенда.
AutoResponder > Add Rule
URL: /api/v1/user
Відповідь, локальний файл .json або свій текст
Ну же можно фіддлер скрипт для зміни статусів,
if (oSession.uriContains("/status")) {
oSession.utilDecodeResponse();
oSession.utilReplaceInResponse('"status":"active"', '"status":"banned"');
}ну і як же не забути про Throttling, яке уповільнення мережі
Через фіддлер скрипт можна імітувати повільний інтернет
oSession["request-trickle-delay"] = "500";
oSession["response-trickle-delay"] = "1000";
Ну і Зберегти сесію
File > Save > All Sessions
Перекинув деву або в Jira, і не пояснюєш (що я бачив).
Якщо коротко то без Fiddler ти просто клікаєш по кнопках.
З ним, контролюєш трафік. І тестуєш не напам’ять, а по факту.
Офіційний сайт
https://www.telerik.com/download/fiddler
📲 Буду вдячний за репост Групи.
https://t.me/BugOrDefects
#fiddler