Руководство по работе с 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».

🔥 Какой была ваша первая зарплата в QA и как вы искали первую работу? 

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

Читать в телеграм

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

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