Charles Proxy на пальцах: главный помощник QA и разработчиков

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

Привет, меня зовут Света и я тимлид Mobile QA в Emerging Travel Group. В этой статье я простым языком расскажу про один из самых полезных и простых в использовании инструментов тестирования мобильных приложений — мистер Charles Proxy, и покажу на примерах некоторые самые полезные его функции.

Для начала разберёмся, кто вообще такой этот Charles.

Charles Proxy — это сниффер (sniffer – перехватчик) трафика, инструмент для анализа трафика, который позволяет отслеживать, записывать и анализировать сетевые запросы между устройствами и интернетом.

Charles — не единственный инструмент для анализа трафика, у него есть аналоги, например: WhireShark, Fiddler, Proхyman, mitmproxy. Все они в той или иной степени про одно, различие лишь в интерфейсе, поддержке разных платформ, и наборе функционала.

Установка и первичные настройки

Я распишу процесс для MacOS, однако для Windows он практически идентичен :) Для использования Charles Proxy сначала нужно выполнить следующие шаги:

  1. Скачать и установить

  2. Дать Charles установить нужные настройки сети

  3. Настроить устройства и установить на них Charles SSL сертификат

Сначала скачайте Charles Proxy для MacOS.

После загрузки Charles установите его, открыв dmg и перетащив приложение в папку "Приложения". 

Charles Proxy не бесплатен, но предоставляет 30-дневный trial из-за которого Charles будет работать только 30 минут и после этого его нужно перезагружать. Чтобы работа Charles стала полноценной нужно купить его лицензию. Лицензия бессрочная и распространяется на неограниченное количество устройств.

Настройка сети

Запустите Charles, при первом запуске появится попап о запросе разрешения на изменение сетевых настроек. Если он не появился, то нажмите Shift-Command-P и увидите следующее окно:

Нажмите “Grant Priveleges” и введите пароль от своего пользователя, если его запросят. После этого Charles начнёт показывать сетевые запросы, которые отправляет ваш Mac

Настройка реального устройства для работы с Charles Proxy

Для отслеживания трафика с реального устройства через Charles Proxy ваш Mac и устройство должны находиться в одной сети. При проксировании трафика от устройства в Charles Proxy необходимо установить Charles Root SSL Certificate для того чтобы можно было анализировать трафик. Для этого открываем Charles и в меню выбираем Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

здесь порт 8888 и IP 192.168.0.139
здесь порт 8888 и IP 192.168.0.139

Теперь на устройстве открываем настройки WiFi -> Настройки выбранной сети -> Proxy Settings и вводим IP адрес и порт из окна чарльза:

экран настройки Proxy внутри выбранной Wi-Fi сети
экран настройки Proxy внутри выбранной Wi-Fi сети

И нажимаем “Save”.

Теперь нужно зайти в браузер и перейти на https://chls.pro/ssl и установить сертификат:

Нажимаем “Allow” и после этого видим попап о установленном configuration profile:

Теперь заходим в системное приложение Settings и там General -> Profile и нажимаем Charles Proxy CA.

Нажимаем “Install”, в появившемся окне ещё раз “Install” и после того как сертификат будет успешно установлен на экране должно быть примерно следующее:

И последнее! Теперь нужно зайти в приложение Settings, там в General -> About -> Certificate Trust Settings. 

И здесь нужно включить свитчер Charles Proxy CA. На всплывающем окне нужно нажать “Continue”. Ура! Теперь установка сертификата завершена. Не волнуйтесь, эту настройку нужно делать только 1 раз на одном устройстве.

Краткий обзор интерфейса

Интерфейс Charles логичен и прост.

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

основной интефейс Charles Proxy
основной интефейс Charles Proxy

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

Источник: https://habr.com/ru/articles/733834/


Интересные статьи

Интересные статьи

Мы — ЕВРАЗ. Горно-металлургическая компания. В рамках производственного процесса мы производим кокс — твёрдое топливо для доменных печей, где выплавляют чугун. Чтобы получить качественное топливо (кок...
Разработчик программного обеспечения Unity Джош Питерсон рассказал нам о будущем поддержки .NET в широко используемом движке для разработки игр.Согласно опросу, проведенн...
Привет, Хабр!Одним из наиболее популярных направлений разработки сегодня является веб. И когда нужно разместить свой проект где-нибудь кроме localhost, многие сталкиваютс...
Здравствуйте! Я Игорь Гальцев, с 2010 технический руководитель различных направления разработок Softline в области автоматизации управления и продаж облачных (подписочных) сервисов. С...
Предлагаем вам познакомиться с переводом статьи Jamie Bullock, опубликованной на сайте medium.com. Автор рассказывает, какие веб-приложения он обычно использует в работе. Читать даль...