ОСНОВИ

Fiddler

Fiddler – це потужний інструмент для аналізу та налагодження HTTP та HTTPS-трафіку, розроблений компанією Telerik. Він широко використовується розробниками та тестувальниками для захоплення, аналізу та налагодження мережевих запитів та відповідей.

Історія
Fiddler був розроблений Еріком Лоуренсом і випущений у 2003 році. Спочатку він був призначений для використання з браузером Internet Explorer, але з часом став багатоплатформовим інструментом, підтримуючи різні браузери та додатки.

01

Перехоплення та перегляд HTTP/HTTPS-трафіку

Fiddler може перехоплювати трафік між вашим браузером (або іншим клієнтом) і сервером. Це дозволяє бачити всі запити та відповіді, що допомагає у налагодженні та аналізі мережевої взаємодії.

02

Редагування запитів та відповідей

Fiddler дозволяє модифікувати HTTP-запити перед відправкою на сервер, а також відповіді перед тим, як вони будуть отримані клієнтом. Це корисно для тестування різних сценаріїв та поведінки програми.

03

Розширюваність через скрипти та плагіни

Fiddler підтримує створення власних скриптів та використання плагінів для автоматизації завдань та розширення функціональності.

04

Декодування HTTPS-трафіку

Fiddler може розшифровувати зашифрований HTTPS трафік для його аналізу. Для цього необхідно встановити сертифікат Fiddler у систему.

05

Збереження та завантаження сесій

Сесії у Fiddler можна зберігати для подальшого аналізу чи обміну з колегами.

06

Налагодження продуктивності

Fiddler надає інструменти для аналізу продуктивності завантаження веб-сторінок та ресурсів, включаючи таймінги запитів та відповідей.

Fiddler: Принцип роботи як проксі-сервера

Fiddler працює як проксі-сервер, що перехоплює HTTP/HTTPS трафік між вашим комп’ютером та інтернетом. Коли ви запускаєте Fiddler, він встановлює себе як проміжну точку між вашим браузером і віддаленим сервером, дозволяючи переглядати, аналізувати і модифікувати запити і відповіді.

Методи перехоплення трафіку

  1. HTTP/HTTPS Трафік: Fiddler перехоплює як HTTP, так і HTTPS трафік, показуючи заголовки, тіла запитів і відповідей.
  2. Фільтри: Можна налаштовувати фільтри для перегляду лише певних типів запитів або запитів до певних доменів.
  3. Скрипти: Використання скриптів для автоматизації модифікацій запитів і відповідей.

Налаштування SSL

  1. SSL-розшифровка: Fiddler може розшифровувати HTTPS-трафік за допомогою вставки себе як проміжного сертифіката, що дозволяє аналізувати зашифровані дані.
  2. Налаштування довіреного сертифіката: Для того, щоб ваш браузер довіряв Fiddler як сертифікату, потрібно встановити сертифікат Fiddler як довірений на вашому комп’ютері. Це дозволяє перехоплювати та розшифровувати HTTPS-з’єднання без попереджень про безпеку.

Установка Fiddler

Скачування та встановлення:

  • Завантажте Fiddler з офіційного сайта Telerik.
  • Запустіть інсталяційний файл і дотримуйтесь інструкцій, щоб завершити інсталяцію.

Початок роботи з Fiddler

Запуск та базова конфігурація:

  • Запустіть Fiddler. За промовчанням він почне перехоплювати трафік вашого комп'ютера.
  • Для роботи з HTTPS-трафіком, перейдіть до Tools -> Options -> HTTPS та увімкніть опцію «Decrypt HTTPS traffic». Виконуйте вказівки для встановлення сертифіката.


    Перехоплення трафіку
    :

    • Відкрийте браузер і почніть відвідувати веб-сайти. Fiddler почне відображати всі перехоплені запити та відповіді.
    • На панелі сесій ви побачите список усіх запитів з інформацією про URL, статус відповіді, розмір і час.

Аналіз запитів та відповідей

Натиснувши на будь-який запит, ви зможете побачити докладну інформацію про нього в правій панелі, включаючи заголовки, тіло запиту та відповіді, параметри та кукі.

Редагування та повторний запуск запитів

Для редагування запитів виберіть запит, клацніть правою кнопкою миші та оберіть «Edit in Composer». Тут ви можете змінити метод, URL-адресу, заголовки і тіло запиту, а потім відправити його заново.

Сценарії та автоматизація

У Fiddler можна писати скрипти мовою JScript.NET для автоматизації завдань. Перейдіть доRules->Customize Rulesдля створення чи зміни скриптів. Rules -> Customize Rules для створення чи зміни скриптів.

ПОРАДИ ТА РЕКОМЕНДАЦІЇ

Фільтрування трафіку:Використовуйте вкладку Filters для фільтрації трафіку за доменом, статусом відповіді, типом контенту та іншими параметрами.

Безпека: Не забувайте відключати перехоплення HTTPS-трафіку після завершення роботи з Fiddler, щоб уникнути можливих ризиків безпеки.

Приклад: Аналіз HTTP-запиту на веб-сайт

Запуск Fiddler:

  • Після встановлення запустіть Fiddler. За умовчанням він почне перехоплювати HTTP та HTTPS трафік вашого комп'ютера.

Налаштування для роботи з HTTPS

 

  1. Увімкнення декодування HTTPS-трафіку:
    • У Fiddler перейдіть до меню Tools -> Options.
    • Перейдіть на вкладку HTTPS і встановіть галочку на Decrypt HTTPS traffic.
    • Fiddler запропонує встановити свій сертифікат для можливості розшифровки HTTPS-трафіку. Виконайте вказівки на екрані.

Перехоплення та аналіз запиту

Відкриття браузера та пошук в Google:

  • Відкрийте веб-браузер (наприклад, Chrome або Firefox) і перейдіть до Google.
  • Виконайте пошук за будь-яким запитом, наприклад, «Fiddler».

Перехоплення запиту

  • У Fiddler ви побачите список перехоплених запитів та відповідей. Знайдіть запит, який відповідає пошуковому запиту Google.
  • Зазвичай URL виглядатиме як https://www.google.com/search?q=Fiddler.

Аналіз запиту

Клацніть на запит до https://www.google.com/search?q=Fiddler у списку сесій. У правій панелі з'явиться докладна інформація про запит та відповідь.

Перегляд деталей запиту та відповіді

  • Перегляд заголовків запиту:

    • У правій панелі виберіть вкладку Inspectors.
    • В розділі Request Headers ви побачите всі заголовки запиту, надіслані браузером на сервер.
  • Перегляд тіла запиту:

    • У випадку GET-запиту тіло запиту зазвичай немає, оскільки дані передаються через URL. У цьому прикладі це буде q=Fiddler.
  • Перегляд заголовків відповіді:

    • У правій панелі виберіть розділ Response Headers для перегляду заголовків, надісланих сервером у відповідь ваш запит.
  • Перегляд тіла відповіді:

    • В розділі Response Body Ви можете побачити тіло відповіді. Оскільки це HTML-сторінка, ви зможете переглянути її вміст.

ПІДМІНА ЗНАЧЕНЬ У ЗАПИТАХ

Відкриття редактора скриптів

У Fiddler перейдіть до меню Rules -> Customize Rules. Відкриється редактор скриптів.

Редагування наявної функції OnBeforeRequest::

  • Знайдіть вже існуючу функцію OnBeforeRequest і внесіть до неї наступний код для заміни значення параметра q у запитах до Google.

public static function OnBeforeRequest(oSession: Session) {
// Ваш існуючий код тут…

// Додаємо перевірку та зміну параметра q
if (oSession.uriContains(«www.google.com/search») && oSession.uriContains(«q=»)) {
// Отримуємо поточний URL
var fullUrl = oSession.fullUrl;

// Логуємо оригінальний URL для налагодження
FiddlerApplication.Log.LogString(«Оригінальна URL: » + fullUrl);

// Регулярний вираз пошуку параметра q
var regex = /q=([^&]*)/;

// Перевіряємо, чи містить URL параметр q і замінюємо його значення
if (regex.test(fullUrl)) {
// Замінюємо значення параметра q на Wireshark
fullUrl = fullUrl.replace(regex, «q=Wireshark»);

// Логуємо змінений URL для налагодження
FiddlerApplication.Log.LogString(«Змінений URL: » + fullUrl);

// Встановлюємо нову URL-адресу запиту
oSession.fullUrl = fullUrl;
}
}

// Ваш існуючий код може продовжуватись тут…
}

Опис коду:

  1. Перевірка URL: Функція OnBeforeRequest виконується перед відправкою запиту. Вона перевіряє, чи URL містить www.google.com/search та параметр q=.

  2. Логування оригінального URL: Якщо умови виконуються, поточний URL запиту зберігається в змінній fullUrl, і його значення логуються для відладки.

  3. Регулярний вираз: Використовується для пошуку значення параметра q в URL.

  4. Замінювання значення: Якщо параметр q знайдено, його значення змінюється на Wireshark.

  5. Логування зміненого URL: Змінений URL також логуються для відладки.

  6. Оновлення запиту: Змінений URL встановлюється як новий для подальшого виконання запиту.

Цей код використовується для автоматичної зміни параметра q в URL запитів до Google, перенаправляючи всі пошуки на тему «Wireshark».

Кроки для перевірки

Збереження та запуск скрипту:

Збережіть зміни у скрипті та закрийте редактор.

Пошук у Google:

Відкрийте браузер і зробіть пошук у Google, наприклад, Fiddler.

Перевірка заміни:

У Fiddler ви побачите, що запит, надісланий на Google, тепер містить q=Wireshark замість цього q=Fiddler.

Откройте запрос и проверьте URL в Inspectors, щоб переконатися в успішній заміні.

ВИКОРИСТАННЯ FIDDLER ДЛЯ ТЕСТУВАННЯ REST API

  1. Запуск Fiddler:

    • Запустіть Fiddler та відкрийте вкладку Composer.
  2. Створення запиту GET:

    • Введіть URL https://api.escuelajs.co/api/v1/products в полі URL.
    • Виберіть метод запиту GET.
  3. Надсилання запиту::

    • Натисніть кнопку Execute, щоб надіслати запит.
  4. Аналіз відповіді:

    • Перейдіть на вкладку Inspectors, щоб переглянути заголовки та тіло відповіді.
    • Перевірте, чи відповідь містить JSON зі списком продуктів.

 

Перехоплення та модифікація форм даних

  • Перехоплення POST запиту:

    • Запустіть Fiddler.
    • Відкрийте ваш браузер і надішліть форму, яка надсилає POST запит на API https://api.escuelajs.co/api/v1/products.
  • Пошук потрібного запиту::

    • У Fiddler знайдіть запит POST у списку сесій. Це буде запит на URL https://api.escuelajs.co/api/v1/products.
  • Редагування запиту у Composer:

    • Клацніть правою кнопкою миші на знайдений запит POST і виберіть Edit in Composer.
    • Вкладка Composer відкриється із деталями вашого запиту.
    • Змініть дані форми у запиті. Наприклад, змініть значення поля title, price чи інших полів.

POST /api/v1/products/ HTTP/1.1
Host: api.escuelajs.co
Content-Type: application/json
Accept: application/json

{
«title»: «Old Product»,
«price»: 50.99,
«description»: «Old description»,
«categoryId»: 1,
«images»: [«https://placeimg.com/640/480/any»]
}

Приклад зміненого запиту:

POST /api/v1/products/ HTTP/1.1
Host: api.escuelajs.co
Content-Type: application/json
Accept: application/json

{
«title»: «New Product»,
«price»: 99.99,
«description»: «Updated description»,
«categoryId»: 1,
«images»: [«https://placeimg.com/640/480/any»]
}

Надсилання зміненого запиту:

    • Натисніть Execute для надсилання зміненого запиту.
    • Перейдіть на вкладку Inspectors, щоб переглянути заголовки та тіло відповіді.
    • Переконайтеся, що зміни застосовані та запит успішно виконано.

АНАЛІЗ ПРОДУКТИВНОСТІ ВЕБ-САЙТУ

Завдання:

Ви хочете проаналізувати продуктивність вашого веб-сайту.

Кроки:

  1. Запуск Fiddler:

    • Запустіть Fiddler та відкрийте ваш веб-сайт у браузері.
  2. Запис сесій:

    • Fiddler буде записувати всі запити та відповіді, пов'язані із завантаженням вашого веб-сайту.
  3. Аналіз часу завантаження:

    • У Fiddler використовуйте вкладку Statistics для аналізу часу завантаження ресурсів
    • Перевірте розмір та час завантаження кожного ресурсу, щоб знайти вузькі місця.
  4. Оптимізація:

    • Ідентифікуйте ресурси, які завантажуються повільно, та оптимізуйте їх (наприклад, стиснення зображень, використання кешу тощо).

Перехоплення та модифікація форм даних

  • Перехоплення POST запиту:

    • Запустіть Fiddler.
    • Відкрийте ваш браузер і надішліть форму, яка надсилає POST запит на API https://api.escuelajs.co/api/v1/products.
  • Пошук потрібного запиту::

    • У Fiddler знайдіть запит POST у списку сесій. Це буде запит на URL https://api.escuelajs.co/api/v1/products.
  • Редагування запиту у Composer:

    • Клацніть правою кнопкою миші на знайдений запит POST і виберіть Edit in Composer.
    • Вкладка Composer відкриється із деталями вашого запиту.
    • Змініть дані форми у запиті. Наприклад, змініть значення поля title, price чи інших полів.

ПІДМІНА ДАНИХ У ЗАГОЛОВКАХ ЗАПИТІВ

// Ця функція викликається перед кожним запитом
public static function OnBeforeRequest(oSession: Session) {
// Перевірка, чи URL запиту відповідає цільовому API
if (oSession.uriContains(«api.escuelajs.co/api/v1/products»)) {
// Зміна заголовка User-Agent
oSession.oRequest[«User-Agent»] = «MyCustomUserAgent/1.0»;

// Логування змін для цілей налагодження
FiddlerApplication.Log.LogString(«User-Agent замінено для: » + oSession.fullUrl);
}
}

Детальний опис:

  1. public static function OnBeforeRequest(oSession: Session): Це метод, який викликається перед кожним запитом. oSession представляє сесію HTTP-запиту.

  2. if (oSession.uriContains("api.escuelajs.co/api/v1/products")): Умова перевіряє, чи містить URL запиту заданий рядок. Якщо так, виконується код в тілі if.

  3. oSession.oRequest["User-Agent"] = "MyCustomUserAgent/1.0";: Змінює заголовок User-Agent у запиті на власний, вказаний у вигляді MyCustomUserAgent/1.0. Це може бути корисним для маскування клієнта або обходу обмежень сервера.

  4. FiddlerApplication.Log.LogString("User-Agent замінено для: " + oSession.fullUrl);: Логує інформацію про зміну User-Agent для цілей налагодження. Виводиться повний URL запиту.

Збереження змін:

      • Збережіть зміни в редакторі скриптів та закрийте його.

Тестування:

      • Надішліть запит до API https://api.escuelajs.co/api/v1/products через ваш браузер або будь-який інший додаток, щоб переконатися, що заголовок User-Agent був підмінений.
      • Перейдіть на вкладку Inspectors у Fiddler, щоб переглянути надіслані запити та перевірити, що заголовок User-Agent внесені зміни до MyCustomUserAgent/1.0.

Чи готові до наступного кроку?

Запишіться на повний курс Fiddler!

Ви пройшли інтерактивний практикум та освоїли базові навички роботи з Fiddler. Тепер настав час поглибити свої знання та стати справжнім експертом!

  • Детальне занурення у функціонал Fiddler
  • Вирішення складних завдань та реальних кейсів
  • Групові чи індивідуальні заняття з викладачем
  • Сертифікат про проходження курсу

Підтримка та питання

Якщо вам потрібна будь-яка підтримка або у вас виникли додаткові питання, не соромтеся зв'язатися з нами, ми готові швидко надати вам допомогу.

Через чат-бот

ТОП КУРСИ

SELENIUM WEBDRIVER

JAVA QA BASIC AUTOMATION

Переваги

  • Освоєння мови програмування Java Java - це одна з найпопулярніших мов програмування в індустрії програмного забезпечення. Вивчення Java дозволить вам працювати з великою кількістю інструментів і технологій в області розробки та автоматизованого тестування.
  • Вміння створювати автоматизовані тести Навички автоматизації тестування є надзвичайно важливими для підвищення ефективності та точності тестування програмного забезпечення.
  • Опанування jUnit, TestNG, Cucumber jUnit - це один з найпопулярніших фреймворків для юніт-тестування в Java. TestNG надає більше можливостей для налаштування тестових сценаріїв та групування тестів. Cucumber дозволяє писати тести у вигляді читабельних сценаріїв, які може розуміти навіть людина, не зайнята тестуванням.
  • Навчання на реальних проєктах
  • Індивідуальний підхід
  • Сертифікат та визнання
Термін навчання -> 2 місяці
Вечірнє навчання -> 2 рази на тиждень
Формат навчання -> наживо в Skype
Детальніше

JAVA QA ADVANCED AUTOMATION

Переваги

  • Поглиблені знання Java Курс надає можливість розширити і поглибити ваші знання в мові програмування Java, що є фундаментом для багатьох автоматизованих тестів і розробки програмного забезпечення.
  • Розширення автоматизаційних навичок Ви вивчите продвинуті техніки автоматизованого тестування, які допоможуть вам створювати більш складні тестові сценарії і забезпечити високу якість тестів.
  • Поглиблення в архітектурі ПЗ Курс може надати знання з архітектурних патернів та структур програмного забезпечення, що може бути корисним для створення більш розширюваних і підтримуваних автоматизованих тестових наборів.
  • Індивідуальний підхід
  • Підвищення кар'єрних можливостей Знання продвинутих технік автоматизації тестування може підвищити вашу конкурентоспроможність на ринку праці і призвести до покращення вашої заробітної плати.
  • Сертифікат та визнання
Термін навчання: від 1 місяця
Вечірнє навчання -> 2 рази на тиждень
Формат навчання -> наживо в Skype
Детальніше
CYPRESS (NODE.JS)

JAVASCRIPT QA BASIC AUTOMATION

Переваги

  • Використання JavaScript і Cypress JavaScript - одна з найпопулярніших мов програмування веб-розробників, а Cypress - потужний фреймворк для автоматизованого тестування веб-додатків.
  • Зосередженість на веб-автоматизації Курс спеціалізується на автоматизації тестування веб-додатків, що є важливою навичкою для якості QA інженера.
  • Практичні завдання і проєкти Важливою перевагою може бути можливість практичного застосування знань через виконання завдань та розробку автоматизованих тестових сценаріїв для реальних веб-додатків.
  • Індивідуальний підхід
  • Робота з GIT
  • Сертифікат та визнання
Термін навчання -> 2 місяці
Вечірнє навчання -> 2 рази на тиждень
Формат навчання -> наживо в Skype
Детальніше