Гайд о том, как с помощью Charles отслеживать пакеты и эмулировать медленную скорость Интернет-соединения на реальном Android -устройстве.
Скачать Charles можно на официальном сайте: www.charlesproxy.com
Продукт условно бесплатный (trial на 30 дней), но нам этого будет вполне достаточно.
Для проведения тестов Вам понадобится:
1) LAN-кабель с вселенным в него интернетом.
2) Ноутбук с возможностью подключения в него того самого LAN-кабеля и wi-fi передатчиком.
3) Реальное Android-устройство с установленным на него мобильным приложением, которое нужно тестировать.
Итак, отключаем ноутбук от всех возможных Wi-fi сетей и подсоединяем к нему LAN-кабель со священным Интернетом. Далее нам необходимо раздать wi-fi с помощью самого ноутбука.
Для этого нужно вызвать командную строку (обязательно - запуск от имени Администратора) и ввести следующие две команды:
Netsh wlan set hostednetwork mode=allow ssid=WIFI key=12345678 keyUsage=persistent
netsh wlan start hostednetwork
(или просто скопировать данный текст в Блокнот, сохранить как *.bat-файл и каждый раз запускать его от имени Администратора).
Wi-fi точка доступа создана. подключаемся к ней своим Android-устройством, имя сети (как Вы догадались, наверное) «WIFI», а пароль – 12345678.
Возможен вариант, что у вас не будет доступа к Интернету на самом устройстве. В таком случае необходимо открыть общий доступ к сети. Как это сделать можно без проблем найти и самому, но раз уж я пишу эту статью, то оставлю полезную ссылку прямо здесь с инструкцией по устранению данной проблемы:
После этого, как показала практика, Интернет на устройстве все-таки появился.
1) Ваш IP-адрес
2) Номер порта, который использует Charles для прокси.
Первую узнаем здесь же, в командной строке, набрав команду ipconfig.
Из всей чепухи которую Вам выдаст cmd.exe нас интересует только cвойства «Ethernet adapter Подключение по локальной сети», а именно IPv4-адрес.
Запоминаем (записываем) его и идем далее.
Номер порта, который использует Charles можно узнать внутри самой программы. Для этого в главном окне программы выберите пункт меню Proxy, в выпадающем списке – Proxy settings. Перед Вами откроется нечто подобное:
Как вы поняли эти заветные 8888 и есть наше второе число. Теперь необходимо задать ограничение скорости соединения. Для этого пройдем в пункт меню Proxy → Throttle Settings.
Ставим галочку Enable Throttling. Only for selected hosts – можно убрать (если не тестируете зависимость работы приложения от какого-либо конкретного домена).
Самый главный параметр – Bandwidth – пропускная способность нашего соединения – устанавливаем на необходимый Вам уровень (я тестировал очень медленное соединение, поэтому поставил 3kb/s). Также, включите запись (Start/Stop Recording) нажав на панели главного окна на соответвующую кнопку для начала записи.
Осталось только настроить наше устройство. Для этого зайдите в настройки, раздел Wi-fi. Заходим в свойства сети, которую раздаем с ноутбука (и к которой уже подключено устройство) выбираем «Настройка прокси» и вводим два волшебных числа в соответствующие поля.
Все готово! Возвращаемся обратно в Charles и во вкладке Sequence видим дивную картину:
Это и есть все запросы, которое делает наше приложение (для образца взял мобильную версию ВК), с подробной информацией по каждому запросу.
P.S: На написание данной статьи меня подтолкнуло несколько вещей:
- отсутствие полного и доступного описания в русскоязычной части интернета.
- англоязычное население YouTube во всех роликах предлагало тестировать Charles на эмуляторах, а для моего старенького ноутбука это смерти подобно.
Надеюсь, данная статья будет полезной. Удачи всем в тестировании и поменьше багов!
Теги: qa, testing tools, charles, charlesproxy
Часто особенно у новичков возникают вопросы по использованию программы Charles (Чарльз), потому я все же решил выложить описание работы с программой и ответы на часто задаваемые вопросы по использованию Charles . Так как программа на английском языке, а с инглишем у жителей стран бывшего СССР не сложилось, то кое-что пришлось перевести...
Итак, читаем вникаем и запоминаем... потому как если я увижу вопросы после этой статьи, то просто буду банить, чтобы научились уму разуму)...
Charles Web Debugging Proxy - это HTTP proxy/HTTP монитор/Reverse Proxy позволяющий пользователю наблюдать за всем HTTP траффиком между его компьютером и сетью Интернет. Это включает в себя запросы (requests), ответы (responses) и HTTP заголовки (содержащие cookies и кэш информацию). Charles отображает весь трафик в виде папок с названием серверов. Внутри каждой папки содержатся запросы, которые отображают происходящие события, связанные с данным сервером.
Если Mozilla Firefox не ловит запросы :
Необходимо установить специальный плагин для браузера , чтобы Charles смог контролировать запросы. ПЛАГИН
Если Google Chrome не ловит запросы :
Работа с программой :
Для того, чтобы Charles начал или остановил запись траффика, необходимо нажать на кнопку "Start/Stop Recording" находящуюся на панели инструментов программы (белый круг с точкой).
Если по каким то причинам Charles не отображает связь с нужным вам сервером, то есть не отображается папка с гетевеями, проверьте, не добавили ли вы данный сервер в игнор. Для этого необходимо зайти в меню Proxy->Recording->Settings и там проверить, не присутствует ли нужный вам сервер в графе Ignore Hosts. Если он там есть, удалите его кнопкой Remove. (а простая переустановка программы ничего не изменит и сервер по прежнему будет игнорироваться)
Для того чтобы отредактировать конкретный запрос в Charles, вам необходимо кликнуть правой кнопкой по строчке, например по gateway.php и выбрать там Edit. После внесения нужных изменений, необходимо нажать внизу кнопку Execute, и запрос будет отправлен на сервер.
Если Вам нужно заставить Charles перехватывать запросы с нужного сервера, вам необходимо нажать правой кнопкой по папке сервера в списке и выбрать в контекстном меню Breakpoints(БРЯКИ ). Далее необходимо в панели инструментов Charles нажать на красный шестиугольник с надписью Enable/Disable Breakpoints. После этого программа будет остановливать каждый входящий и исходящий запрос связанный с данным сервером. Вы можете редактировать запросы или отправлять сразу кнопокй Execute. Исходящие запросы, от вас к серверу, будут появляться в Charles с красными стрелками вверх. Входящие запросы, ответы сервера, появляются со стрелкой вниз.
Функционал , или разбираемся с кучей красивых кнопочек в Charles...
Кнопки :
Создание новой сессии -
Открыть сессию (например сохраненную ранее) -
Закрыть выбранную сессию -
Сохранить сессию -
Очистить сессию -
Найти текст/цифры в выбранной сессии -
Кнопка записи -
Кнопка регулирования (как правило, редко используется) -
Кнопка Включения/Выключения Перехвата данных -
Кнопка повтора. Повторяет выбраное(ые) процесс -
Кнопка утверждения выделенного процесса(практически не используется) -
Кнопка задействования других кнопок на этой же панели -
Настройки программы -
Последний пункт с корзиной - совершенно не нужен, если Вы крякните программу)...
Виды пакетов :
Полезные для нас :
Ненужные пакеты (мусорные)
Виды запросов Charles :
Исходящий Запрос
(Со стрелочкой вверх):
Входящий запрос
(Со стрелочкой вниз):
Установка Charles принципиально не чем не отличается от других программ, появится окно, в котором необходимо нажать Next :
Далее необходимо выбрать компоненты для установки, список их не богат, потому оставляем все, по умолчанию и жмем Next
:
Переходим в следующее окно диалогового установщика, где нам предлагаю выбрать путь, куда инсталлировать (устанавливать) программу и ее компоненты, по умолчанию эта папка Program Files
, я в нее и установил, нажав Install
:
В завершении процесса установки, появляется окно, которое говорит нам, все замечательно, все правильно установилось и какие мы большие молодцы, что справились, с столь тяжелейшим процессом))), жмем Finish , на этом установка завершена:
Плагин Charles для FireFox
, перейдя по ссылке, появится окно, которое нам сообщит, что FireFox заблокировал запрос на установку программного обеспечения на компьютер с этого сайта (www.charlesproxy.com) (установочные окна могут отличаться в зависимости от версии браузера FireFox, я привожу пример на базе 4-той версии)... Вам необходимо нажать "Разрешить
":
После этого появится окно загрузки:
Далее появится окно с сообщением о "Установке программного обеспечения", жмете -> "Установить сейчас
":
Появится сообщение о том, что Charles Autoconfiguration
будет установлен после перезапуска вами Firefox, нажмете "Перезапустить сейчас
":
После перезагрузки Firefox, можно преступать к работе с программой... Но перед этим необходимо, по-крайней мере я бы рекомендовал, сходить на сайт java.com
, скачать оттуда и проинсталлировать последнюю версию виртуальной машины...
Активация Charles :
Если программа была скачана с нашего сайта, то необходимо делать следующее, для версии 3.5.2... Идем в папку iNViSiBLE и запускаем patcher.bat (убедитесь, что у Вас установлена JAVA, скачать можно последнюю версию на java.com), после запуска, нам надо будет ввести путь с Jar File программы Charles, стандартно это путь: C:\Program Files\Charles\lib, выбираем файл charles.jar и жмем Open, затем, .patch!
Если программа будет успешно пропатчена, выдаст сообщение: "Your applicarion has successfully beeb patched", жмем OK , закрываем...
Для того, чтобы зарегистрировать Charles, необходимо запустить программу, зайти в программе во вкладку информация, регистрация и ввести регистрационные данные (см.ниже):
Registered name: iNViSiBLE TEAM License key: 1337
Все после этого Ваша программа полностью работоспособна и не имеет никаких ограничений.
Прикручиваем Charles к другим браузерам :
Настройка Charles на Opera (писал уже в статье, но повторюсь):
1. Заходим в Инструменты ----> Настройки.
2. Переходим во вкладку "Дополнительно".
3. Выбираем пункт "Сеть".
4. Жмем кнопку "Прокси Серверы...".
5. Ставим галочку напротив пункта "HTTP".
6. Вводим такие данные: IP: 127.0.0.1 Порт: 8888
После окончания работы в программе Charles, необходимо отключить прокси в опере, иначе просто не будут грузится страницы.
Настройка Charles на Internet Explorer (не думаю, что кто-то еще пользуется этим го...ном, но все же):
1. Заходим в Сервис ----> Свойства Обозревателя
2. Переходим во вкладку "Подключения".
3. Жмем кнопку "Настройка сети".
4. Ставим на галочку (Если она у вас не поставлена) "Использовать Прокси-Сервер для локальных подключений"
5. В первой строке там где написано "HTTP"
6. Вводим такие данные: Адрес: 127.0.0.1 Порт: 8888
Видео мануал по работе с программой смотрим ниже.
Песочница
Наташа 3 апреля 2017 в 02:01Charles – Инструкция для чайников
- Тестирование мобильных приложений
Гайд о том, как с помощью Charles отслеживать пакеты и эмулировать медленную скорость Интернет-соединения на реальном Android -устройстве.
Скачать Charles можно на официальном сайте: www.charlesproxy.com
Продукт условно бесплатный (trial на 30 дней), но нам этого будет вполне достаточно.
Для проведения тестов Вам понадобится:
1) LAN-кабель с вселенным в него интернетом.
2) Ноутбук с возможностью подключения в него того самого LAN-кабеля и wi-fi передатчиком.
3) Реальное Android-устройство с установленным на него мобильным приложением, которое нужно тестировать.
Итак, отключаем ноутбук от всех возможных Wi-fi сетей и подсоединяем к нему LAN-кабель со священным Интернетом. Далее нам необходимо раздать wi-fi с помощью самого ноутбука.
Для этого нужно вызвать командную строку (обязательно - запуск от имени Администратора) и ввести следующие две команды:
Netsh wlan set hostednetwork mode=allow ssid=WIFI key=12345678 keyUsage=persistent
netsh wlan start hostednetwork
(или просто скопировать данный текст в Блокнот, сохранить как *.bat-файл и каждый раз запускать его от имени Администратора).
Wi-fi точка доступа создана. подключаемся к ней своим Android-устройством, имя сети (как Вы догадались, наверное) «WIFI», а пароль – 12345678.
Возможен вариант, что у вас не будет доступа к Интернету на самом устройстве. В таком случае необходимо открыть общий доступ к сети. Как это сделать можно без проблем найти и самому, но раз уж я пишу эту статью, то оставлю полезную ссылку прямо здесь с инструкцией по устранению данной проблемы:
После этого, как показала практика, Интернет на устройстве все-таки появился.
1) Ваш IP-адрес
2) Номер порта, который использует Charles для прокси.
Первую узнаем здесь же, в командной строке, набрав команду ipconfig.
Из всей чепухи которую Вам выдаст cmd.exe нас интересует только cвойства «Ethernet adapter Подключение по локальной сети», а именно IPv4-адрес.
Запоминаем (записываем) его и идем далее.
Номер порта, который использует Charles можно узнать внутри самой программы. Для этого в главном окне программы выберите пункт меню Proxy, в выпадающем списке – Proxy settings. Перед Вами откроется нечто подобное:
Как вы поняли эти заветные 8888 и есть наше второе число. Теперь необходимо задать ограничение скорости соединения. Для этого пройдем в пункт меню Proxy → Throttle Settings.
Ставим галочку Enable Throttling. Only for selected hosts – можно убрать (если не тестируете зависимость работы приложения от какого-либо конкретного домена).
Самый главный параметр – Bandwidth – пропускная способность нашего соединения – устанавливаем на необходимый Вам уровень (я тестировал очень медленное соединение, поэтому поставил 3kb/s). Также, включите запись (Start/Stop Recording) нажав на панели главного окна на соответвующую кнопку для начала записи.
Осталось только настроить наше устройство. Для этого зайдите в настройки, раздел Wi-fi. Заходим в свойства сети, которую раздаем с ноутбука (и к которой уже подключено устройство) выбираем «Настройка прокси» и вводим два волшебных числа в соответствующие поля.
Все готово! Возвращаемся обратно в Charles и во вкладке Sequence видим дивную картину:
Это и есть все запросы, которое делает наше приложение (для образца взял мобильную версию ВК), с подробной информацией по каждому запросу.
P.S: На написание данной статьи меня подтолкнуло несколько вещей:
- отсутствие полного и доступного описания в русскоязычной части интернета.
- англоязычное население YouTube во всех роликах предлагало тестировать Charles на эмуляторах, а для моего старенького ноутбука это смерти подобно.
Надеюсь, данная статья будет полезной. Удачи всем в тестировании и поменьше багов!
Теги: qa, testing tools, charles, charlesproxy
С помощью какой программы можно мониторить трафик между компьютером и интернетом? Наверное, одной из наиболее подходящих программ для этих целей, является программа Charles. Данная программа представляет собой веб-прокси-сервер и скачать ее можно на нашем сайте. Давайте же вкратце разберемся как работать с данной программой.
Прежде всего стоит отметить, что программа Charles работает . То есть вам необходимо установить этот браузер. Затем необходимо установить саму программу. С установкой не должно возникнуть никаких проблем, так как она ничем не отличается от установок других программ. После установки можно приступать к работе с программой Charles.
Программа Charles может останавливать или же запускать запись трафика. Для этого нужно воспользоваться кнопкой программы, которая называется "Start/Stop Recording ". Она находится на панели инструментов программы и визуально представляет собой белый круг с точкой.
У многих пользователей, которые воспользовались данной программой, могут не отображаться папки со шлюзами (Gateway). Другими словами, программа Charles не отображает связь с нужным вам сервером. Такое может случиться, если вы случайно добавили данный сервер в игнор-список. Чтобы проверить это, вам нужно перейти в меню "Proxy ", затем в меню "Recording Settings ". Здесь проверьте наличие сервера в графе "Ignore Hosts ".
Если нужный вам сервер здесь, то его нужно удалить. Сделать это можно при помощи кнопки "Remove ". Здесь стоит отметить, что многие пользователи, сталкиваясь с данной ошибкой, переустанавливают программу. Но в данном случае переустановка не решает ничего и сервер, если он находится в игноре, по-прежнему не будет виден.
Если вам нужно отредактировать определенный запрос в программе Charles, то сделать это не так уж и сложно. Для этого в открывшемся списки запросов (открывается автоматически после запуска) вам нужно будет нажать правой кнопкой мыши по нужной строчке и выбрать пункт "Edit ". Как только вы внесете необходимые изменения, то ищите и нажимайте кнопку "Execute ". После этого запрос будет отправлен на сервер.
Программа Charles может перехватывать и запросы с нужных вам серверов. Чтобы это сделать необходимо кликнуть правой кнопки мыши по папке сервера, а затем в появившемся окне выбрать пункт "Breakpoints ". После этого ищите в панели инструментов программы и нажимайте на пункт "Enable/Disable Breakpoints "(выглядит как красный шестиугольник).
Теперь программа будет останавливать все запросы, связанные с данным сервером. Управлять и редактировать запросами можно при помощи кнопки "Execute ". Здесь стоит еще отметить и то, что исходящие от вашего компьютера к серверу запросы будут отображены в программе в виде красных стрелок, которые направлены вверх, а входящие будут иметь стрелку, направленную вниз.
На самом деле программа Charles подойдет для широкой аудитории пользователей. Кто-то использует эту программу для нечестных целей, например, взламывает браузерные игры, а кто-то действительно анализирует программой трафик. Поэтому невозможно описать инструкцию по работе с программой для каждого случая.
В принципе, именно все то, что было описано вызывает у большинства пользователей трудности. Во всем остальном можно разобраться самостоятельно. Даже не смотря то, что программа Charles имеет англоязычный интерфейс, разобраться в ней можно, так как ее интерфейс довольно понятный. Скачать программу вы сможете абсолютно бесплатно