Основы

Fiddler

Fiddler — это мощный инструмент для анализа и отладки HTTP и HTTPS-трафика, разработанный компанией Telerik. Он широко используется разработчиками и тестировщиками для захвата, анализа и отладки сетевых запросов и ответов.

01

Перехват и просмотр HTTP/HTTPS-трафика

Fiddler может перехватывать трафик, идущий между вашим браузером (или другим клиентом) и сервером. Это позволяет видеть все запросы и ответы, что помогает в отладке и анализе сетевого взаимодействия.

02

Редактирование запросов и ответов

Fiddler позволяет модифицировать HTTP-запросы перед их отправкой на сервер, а также ответы перед тем, как они будут получены клиентом. Это полезно для тестирования различных сценариев и поведения приложения.

03

Расширяемость через скрипты и плагины

Fiddler поддерживает создание собственных скриптов и использование плагинов для автоматизации задач и расширения функциональности.

04

Декодирование HTTPS-трафика

Fiddler может расшифровывать зашифрованный HTTPS-трафик для его анализа. Для этого нужно установить сертификат Fiddler в систему.

05

Сохранение и загрузка сессий

Сессии в Fiddler можно сохранять для последующего анализа или обмена с коллегами.

06

Отладка производительности

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

Установка Fiddler

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

Начало работы с Fiddler

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

  • Запустите Fiddler. По умолчанию он начнет перехватывать трафик вашего компьютера.
  • Для работы с HTTPS-трафиком, перейдите в Tools -> Options -> HTTPS и включите опцию “Decrypt HTTPS traffic”. Следуйте инструкциям для установки сертификата.


    Перехват трафика
    :

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

Анализ запросов и ответов

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

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

Для редактирования запросов выберите запрос, кликните правой кнопкой мыши и выберите “Edit in Composer”. Здесь вы можете изменить метод, URL, заголовки и тело запроса, а затем отправить его заново.

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

В Fiddler можно писать скрипты на языке JScript.NET для автоматизации задач. Перейдите в 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;
        }
    }

    // Ваш существующий код может продолжаться здесь...
}

				
			

Шаги для проверки

Сохранение и запуск скрипта:

Сохраните изменения в скрипте и закройте редактор.

Выполнение поиска в 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 или других полей.

Подмена данных в заголовках запросов

				
					// This function is called before every request
public static function OnBeforeRequest(oSession: Session) {
    // Check if the request URL matches the target API
    if (oSession.uriContains("api.escuelajs.co/api/v1/products")) {
        // Change the User-Agent header
        oSession.oRequest["User-Agent"] = "MyCustomUserAgent/1.0";

        // Log the change for debugging purposes
        FiddlerApplication.Log.LogString("User-Agent подменен для: " + oSession.fullUrl);
    }
}

				
			

Сохранение изменений:

      • Сохраните изменения в редакторе скриптов и закройте его.

Тестирование:

      • Отправьте запрос к 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
Подробнее

Мы также присутствуем в социальных сетях! Подписывайтесь на нас и получайте последние новости, акции, скидки, бесплатные тренинги и участие в марафонах.
Будем рады видеть вас в нашем сообществе!

Курсы

Публичная оферта. Авторское право © 2024 Школа подготовки тестировщиков