Руководство по работе с Charles Proxy

Каждый разработчик программного обеспечения должен понимать важность тестирования. Но каким бы полезным ни было тестирование программного обеспечения, оно часто бывает монотонным и утомительным. Даже при обнаружении определенных особенностей тестировщики порой не могут понять, откуда берутся ошибки. Именно в такие моменты на помощь приходят такие инструменты, как Charles Proxy. Давайте узнаем, что это такое.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Содержание:

Что такое Charles Proxy?

Charles – это http-прокси, который работает на вашем компьютере. После установки этого инструмента ваш браузер будет настроен на доступ Charles, а тот в свою очередь будет показывать, записывать и отображать вам все полученные и отправленные данные. Другими словами, с его помощью осуществляется сниффинг – процесс мониторинга и перехвата всех пакетов, проходящих через сеть.

Значительное преимущество, которое тестировщики получают от прокси-сервера Charles, заключается в том, что он находит источник проблемы и даже классифицирует различные возникающие ошибки, а также создает специальный журнал. Кроме того, веб-совместимость этого инструмента позволяет без труда использовать его в любых веб-/мобильных приложениях.

Установка Charles proxy.

  • Кликните по соответствующей ссылке в соответствии с требованиями вашего браузера.
  • Загрузка файла начнется сразу после нажатия на ссылку.
  • После завершения загрузки файл можно найти в папке загрузок вашего устройства.
  • Кликните по установочному файлу, который будет называться 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».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *