Каждый разработчик программного обеспечения должен понимать важность тестирования. Но каким бы полезным ни было тестирование программного обеспечения, оно часто бывает монотонным и утомительным. Даже при обнаружении определенных особенностей тестировщики порой не могут понять, откуда берутся ошибки. Именно в такие моменты на помощь приходят такие инструменты, как Charles Proxy. Давайте узнаем, что это такое.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание:
- Что такое Charles Proxy?
- Установка Charles Proxy?
- Краткое руководство по веб-конфигурации Charles.
- Краткое руководство по настройке мобильных устройств.
- Включение ssl для Charles.
- Другие возможности Сharles Proxy.
- Как сохранить/обменять журнал/сессию Charles?
- Как удалить сертификат Charles?
Что такое Charles Proxy?
Charles – это http-прокси, который работает на вашем компьютере. После установки этого инструмента ваш браузер будет настроен на доступ Charles, а тот в свою очередь будет показывать, записывать и отображать вам все полученные и отправленные данные. Другими словами, с его помощью осуществляется сниффинг – процесс мониторинга и перехвата всех пакетов, проходящих через сеть.
Значительное преимущество, которое тестировщики получают от прокси-сервера Charles, заключается в том, что он находит источник проблемы и даже классифицирует различные возникающие ошибки, а также создает специальный журнал. Кроме того, веб-совместимость этого инструмента позволяет без труда использовать его в любых веб-/мобильных приложениях.
Установка Charles proxy.
- Откройте www.charlesproxy.com.
- Нажмите на кнопку Download.
- Кликните по соответствующей ссылке в соответствии с требованиями вашего браузера.
- Загрузка файла начнется сразу после нажатия на ссылку.
- После завершения загрузки файл можно найти в папке загрузок вашего устройства.
- Кликните по установочному файлу, который будет называться Charles-proxy-xyz-xyz (часть xyz может быть разной).
- Завершите процесс в мастере установки.
Краткое руководство по веб-конфигурации Charles
Операционная система Windows
В операционной системе Windows и связанных с ней браузерах (Internet Explorer и Edge) Charles web работает автоматически. После загрузки прокси-сервера Charles автоматически начинает настройку и перенастраивается каждый раз, когда окно браузера открывается или закрывается.
Mac OS
В операционной системе Mac OS и связанных с ней браузерах (Safari) процесс работы Charles Proxy ios практически такой же. При первой загрузке программа запрашивает разрешение на доступ. После этого прокси автоматически выполняет процесс настройки и реконфигурации.
Firefox
Для Mozilla Firefox пользователю предлагается добавить дополнение Firefox Add-on, чтобы Charles мог выполнять процесс настройки.
(во всех браузерах можно изменить настройки конфигурации)
Краткое руководство по настройке мобильных устройств
С мобильными программами Charles работает несколько лучше:
- Мобильное устройство и компьютер, на котором запущен Charles, должны находиться в одинаковых беспроводных сетях.
- Тестировщику необходимо изменить настройки прокси-сервера с режима Off на режим Manual и указать в настройках Wi-Fi порт, на котором работает Charles. Чаще всего он работает на порту 8888, но может быть настроен анализатором по своему усмотрению. Для большинства гаджетов изменение всех настроек возможно осуществить в разделе Сеть и Интернет в общем меню.
- При первом запуске гаджета с Charles предлагается разрешить или не разрешить сетевой трафик. После разрешения в окне инструмента будет отображаться весь интернет-трафик, проходящий через мобильное устройство.
- После завершения работы в настройках прокси-сервера необходимо выключить режим Manual вручную. Если этого не сделать, то после выключения Charles и завершения тестирования мобильный телефон будет выдавать сообщения об ошибках при попытке подключиться к Интернету.
Включение HTTP в Charles Proxy ios (iPhone)
- Нажмите на Настройки в приложениях вашего устройства.
- Выберите Wi-Fi.
- Для сети Wi-Fi, к которой подключен ваш iPhone, нажмите синий символ информации.
- Внизу в разделе HTTP PROXY выберите пункт Вручную.
- Рядом с пунктом Сервер введите IP-адрес компьютера, на котором запущен Charles.
- В разделе Сервер введите номер порта Charles (обычно 8888).
Для Android
- Выберите Настройки на вашем устройстве.
- Нажмите на Wi-Fi.
- Длинным тапом выберите название связанной сети. Появится меню с вариантами изменения настроек сети.
- Нажмите на пункт Изменить сеть.
- Перейдите в поле Дополнительные параметры.
- Измените значение прокси с Нет на Вручную.
- В поле Proxy hostname введите IP-адрес компьютера, на котором запущен Charles.
- Введите номер порта Charles в поле Proxy port (обычно 8888).
Включение ssl для Charles
Charles ssl proxying позволяет прочитать конкретный запрос, сделанный вашим сервером. Рассмотрим, как это сделать:
- Найдите в меню пункт прокси и выберите настройки SSL-прокси.
- Нажмите на кнопку Add, и в поле Edit добавьте * в поле Host и 443 в поле Port. Здесь * означает, что прокси будет расшифровывать каждый URL.
- Таким образом, вы сможете читать все данные, поступающие от всех запросов и ответов.
Для лучшего понимания:
Windows OS и связанные браузеры
- В Charles Proxy найдите в меню раздел Help и выберите SSL Proxying > Install Charles Root Certificate. Появится окно с предупреждением о том, что корневой сертификат CA не является доверенным.
- Щелкните на кнопке Install Certificate, чтобы запустить мастер импорта сертификатов. Сертификат должен быть внесен в хранилище аутентификации “Доверенные корневые центры сертификации”, поэтому отмените автоматический выбор хранилища на устройстве.
- Завершите работу мастера импорта сертификатов, после чего прокси-сервер представит корневой сертификат Charles. Возможно, придется перезапустить браузер, прежде чем установка будет завершена.
Mac OS и связанные браузеры
- В Charles щелкните на раздел меню Help и выберите SSL Proxying > Install Charles Root Certificate.
- Откроется окно Keychain Access, в котором будет задан вопрос о надежности сертификата.
- Выберите Всегда доверять. Вам будет предложено ввести секретное слово, чтобы обновить настройки доверия. Возможно, придется перезапустить работу Safari, прежде чем все изменения будут установлены.
Mozilla Firefox
- (После завершения загрузки сертификата:) В программе Firefox перейдите в меню Инструменты > подменю Charles и выберите пункт Установить корневой сертификат Charles.
- Появится окно импорта сертификата. Установите флажок Trust this CA to distinguish sites.
IOS-устройства
- После ручного прописывания прокси (рассматривали в разделах выше) откройте Safari и перейдите по адресу http://www.charlesproxy.com/getssl.
- Safari предложит вам подтвердить поддержку SSL.
Android-устройства
- Вы можете использовать Сharles Proxy SSL с приложениями. Чтобы настроить приложение на использование протокола Сharles Proxy, необходимо добавить в него файл конфигурации сетевой безопасности.
- Эта запись может аннулировать структуру по умолчанию, позволяя приложению доверять сертификатам CA, введенным клиентом.
Другие возможности Сharles Proxy.
1. Кнопка “Очистить”
При нажатии на эту кнопку сессия будет очищена, и с этого момента вы можете начать новую сессию.
2. Кнопка “Стоп/Старт”
После запуска инструмента эта кнопка автоматически переходит в режим ON. Вы можете нажать на эту кнопку в случае, если вам необходимо выключить регистрацию записи запросов.
3. SSL-проксирование
Если вы включили SSL-проксирование в настройках Сharles Proxy, о чем говорилось в предыдущих разделах статьи, то эта кнопка будет включена автоматически. Вы сможете остановить этот процесс в любое время по желанию. С этого момента доступ к информации будет ограничен по причине неактивного SSL-проксирования.
4. Сетевой троттлинг
Сетевой троттлинг предназначен для изменения скорости передачи данных в различных сетях, таких как 2G, 3G, 4G и WIFI. Кроме того, с его помощью можно воссоздать измененную скорость модемной сети.
Инструмент позволит узнать, как приложение будет работать, например, в ситуации нестабильного интернет-соединения или его внезапного отсутствия. Изменить скорость и другие организационные условия можно с помощью консоли, нажав Control+Shift+T, или через меню Proxy => Throttle settings.
5. Брейкпойнты
Инструмент Breakpoints позволяет перехватывать запросы и ответы до того, как они пройдут через Charles. Вы можете просмотреть и отредактировать запрос или ответ, а затем решить, разрешить его выполнение или заблокировать. Для активации этой функции нужно нажать кнопку Enable Breakpoints на панели, для деактивации – Disable Breakpoints соответственно.
6. Compose
Функция Compose позволяет изменять любой запрос и отправлять измененный ответ.
7. Repeat
Эта кнопка предназначена для повторной отправки конкретного запроса. При нажатии на эту кнопку запрос, находящийся в менеджере, будет отправлен еще раз. Этот элемент удобен, если вы вносите изменения в серверную часть и хотите протестировать их без повторения запроса в браузере (или другом клиенте).
8. Инструмент проверки
Charles может проверить записанные ответы, отправив их валидатору HTML W3C, валидатору CSS W3C и валидатору канала W3C.
Отчет о проверке представлен в Charles со всеми предупреждениями и ошибками, связанными с соответствующей строкой в источнике ответа (дважды щелкните номер строки в сообщении об ошибке, чтобы переключиться на представление исходного кода).
9. Покупка лицензии
Эта кнопка используется для покупки лицензии по окончании тестирования. Для получения дополнительной информации о покупке лицензии посетите раздел BUY сайта Charles Proxy.
10. Инструменты
В этом сегменте находятся различные устройства/инструменты, помогающие сниффить трафик.
11. Настройки
Меню настроек содержит настройки управления доступом, настройки прокси, настройки записи и т.д.
Как сохранить/поделиться журналом/сессией Charles
Эта функция просто необходима в ситуации, когда вы только пытаетесь или уже исследуете сетевые вызовы, идентифицированные приложением, и вам нужно передать журналы Сharles другому QA инженеру. Вам необходимо сохранить текущий журнал/сессию Сharles.
Для сохранения нажмите комбинацию клавиш Control+S на консоли или откройте меню File, после чего найдите пункт Save. Нажмите на него и задайте желаемое имя с расширением .chls, например, TestLogs.chls, затем нажмите кнопку сохранения.
Вы также можете экспортировать журналы charles в области «Файлы» и сохранить их в формате .chls. После этого вы можете поделиться записью .chls с другими людьми. Если у вас есть журнал Сharles в формате .chls, вы можете импортировать эту запись с помощью инструмента и изучить корпоративный трафик.
Как удалить сертификат Charles
Иногда при настройке нам необходимо установить корневой сертификат прокси-сервера Сharles. Но что делать, если он больше не нужен? Давайте посмотрим.
1. Найдите на компьютере Диспетчер сертификатов. В Windows его обычно можно найти под именем certmgr.msc.
2. После открытия диспетчера выберите пункт Trusted Root Certification Authorities (Доверенные корневые центры сертификации), после чего выберите конверт Certificates (Сертификаты). С этого момента появится сводка аутентификации. Прокрутите экран под этим снимком для получения дополнительных объяснений.
3. Щелкните правой кнопкой мыши на подтверждении Charles proxy intermediary в появившемся списке, а затем нажмите кнопку Delete.
4. Нажмите кнопку Да в кратком сообщении об утверждении. В этот момент корневой сертификат Charles будет удален. В любой момент вам придется снова использовать Charles proxy, и тогда нужно будет заново установить сертификат.
Charles proxy – очень ценный инструмент для QA инженеров. Поэтому если вы тестируете программное обеспечение, мы настоятельно рекомендуем вам попробовать его.
Перевод статьи «Beginner’s Guide To Charles Proxy».