Итак, анализаторы трафика, или снифферы – это особый инструментарий, позволяющий тестировщикам перехватывать и анализировать запросы, которые проходят через них. Подобные технологии очень полезны в ситуации, когда пользователю нужно получить сведения или сконфигурировать необходимый ответ от сервера. Такие методики работы с запросами позволяют не просто выполнять модульное тестирование ПО, но и работать с разными версиями веб-продукта.
Работу, особенности настройки и преимущества снифферов мы разберем на примере популярного инструмента мониторинга HTTP/HTTPS трафика – Charles Proxy. Его привычно использовать в форме особого прокси-сервера между проверяемым ПО и сервером на стороне back-end.
Преимущество использования снифферов в целом и Charles Proxy в частности в том, что можно просматривать весь трафик как с экранов локальных машин, так и с мобильных устройств. Это существенным образом облегчает жизнь QA-специалиста при выполнении клиент-серверных работ.
Использование Charles Proxy при тестировании мобильного ПО
Итак, перед нами поставлена задача провести проверку мобильного ПО. Для этого нам потребуется включить Charles Proxy на ПК, который находится внутри той же локальной сети, что и тестируемый продукт. Подобное соединение выстраивается по Wi-Fi сети.
После установления соединения Charles Proxy может начинать «считывать» HTTP-трафик тестируемого ПО. А вот для его расшифровки, придется вооружиться дополнительными инструментами (например, загрузить SSL-серфтикат Charles Proxy в любом мобильном браузере).
Стоит отметить тот факт, что в Android все сертификаты верифицируются в Settings > Trusted Credentials во вкладке User.
Использование на ПК
Charles Proxy содержит массу вариаций по фильтрации запросов. Их анализ можно выполнять следующими способами:
- Использование вкладки Structure. Для начала можно просто скопировать хост и проставить его в поле Filter. Подобная манипуляция позволяет ознакомиться с запросами данного хоста.
- Использование вкладки Sequence. Здесь мы можем не только ознакомиться с данными о запросах, но и поработать с регулярными выражениями. Параметр autoscroll позволяет выбирать требуемое количество строк, которые мы можем или нам необходимо обработать в процессе тестирования.
Charles Proxy также позволяет фильтровать не просто отображение, но и процесс записи запросов. Для настройки данной конфигурации необходимо перейти в Proxy > Record Settings и вручную указать тестовые условия на вкладке Include или же Exclude.
Подобная манипуляция позволяет включать или выключать процесс записи запросов выбранного хоста.
Как просматривать SSL-трафик
После того, как мы выполнили процесс установки SSL-сертификата, для анализа зашифрованного трафика нам останется всего лишь активировать SSL proxying для необходимого хоста непосредственно в Charles Proxy. Все это можно выполнить через специальное контекстное меню определенного хоста.
Если неудобно включать каждый хост по отдельности, можно перейти в меню Proxy>SSL Proxying settings и в первой вкладке активировать пункт Enable SSL Proxying.
Работа с контрольными точками остановы
Отдельного внимания заслуживает настройка точек остановки (брейкпоинты), с помощью которых пользователи могут перехватывать конкретные запросы. Выполнить установку контрольных точек можно посредством контекстного меню выбранного запроса.
После выполнения таких действий все идентичные запросы будут перехвачены в автоматическом порядке. Пользователь при желании сможет их просматривать и редактировать.
Дополнительно можно рассмотреть вопросы тестирования ПО на плохой связи. Системные возможности Charles Proxy позволяют тестировать сервис при таких условиях с помощью простой конфигурации пропускной нагрузки выбранного канала (англ. throttling).
Данная функция крайне полезна для проверки разнообразных десктопных утилит, так как уровень связи для портативных гаджетов можно редактировать посредством панели разработчика.
К слову, настройка данного процесса происходит в панели Proxy > Throttling settings. Пользователь может включить ограничение как для хостов из предложенного списка, так и для абсолютно всех перехваченных запросов.
Таким образом
В целом Charles Proxy являет собой первоклассный инструмент, который решает вопросы минимальных потребностей при взаимодействии с сетевыми запросами. С его помощью пользователи могут не просто тестировать запросы, но и выполнять всевозможные конфигурационные настройки под собственные надобности и поставленные задачи.
Оставить комментарий