Инструменты Для Удаления Логов С Устройств Android/Ios. Чтение И Анализ

Привет! Сегодня начинается наша четвертая встреча для тестировщиков, общение по обеспечению качества.

Воспользоваться им еще можно до 18:00 по московскому времени.

регистр .

А пока мы начинаем публиковать отчеты с предыдущей встречи, и начиная с Ольги, старшего QA-инженера red_mad_robot. Давайте поговорим о мобильных устройствах и об удалении логов с этих мобильных устройств, прочитаем их и разберемся, как с ними вообще работать.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Что такое журналы мобильных устройств? Журналы — это записи или сообщения в текстовой форме.

В этом тексте мы записываем все действия пользователя или то, как система реагирует на действия пользователя, соответственно вся информация, что вы делаете, где нажимаете на само устройство, в приложении - все это записывается в логи.

Какие логи существуют в принципе? Разделим их на две группы.

Первый — Crash logs, они подразумевают отдельный файл, куда заливается только информация об аварийном завершении работы программы.

А второй вариант — это просто логи, файл, представляющий собой журнал событий; в нем хранятся все системные записи и реакции устройства на действия пользователя.



Уровни журналирования

Хочу отметить, что эти уровни ведения журнала больше предназначены для журналов Android, поскольку именно разделение на Error, Warn, Info, Debug и Verbose вы в основном видите в журналах Android. Плюс одна и та же информация чаще всего будет в логах вашего сервера, изучить их в принципе будет весьма полезно.

Что примечательно, каждый уровень включает в себя предыдущий.

Если мы возьмем Verbose и отфильтруем по нему, например, то мы получим логи всех предыдущих уровней, то есть абсолютно все логи.

Давайте рассмотрим каждый подробно.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Первый из них — Ошибка.

Ошибки уровня ошибок — это ошибки, указывающие на работу системы; на них нужно реагировать очень быстро и всегда сообщать разработчикам.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Например, SpannableStringBuilder — это ошибка приложения, которая сообщает нам, что текстовое поле, то есть Span, наш элемент, не может быть нулевым или пустым.

Второй вариант – системная ошибка ZeroHung. Данная ошибка говорит о том, что у нас утечка памяти, это может быть как от какого-то действия с приложением, так и от самого приложения.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Следующий вариант — «Предупреждение».

Это также ошибки, которые указывают на какое-то неожиданное поведение, требующее внимания, но они не так важны, как ошибки.

Например, ошибка со стороны приложения: пытаемся декодировать видео в нужное нам качество, в нужный формат и получаем ошибку.

Второй вариант, например, BroadcastQueue. Это системная ошибка, ошибка в работе какого-то виджета на вашем устройстве.

У меня это был Android Huawei, система постоянно выдает такие ошибки.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Следующий уровень – Информация.

Это уровень журнала, на котором мы получаем чисто информационные записи о работе системы.

Например, на этот уровень будут приходить ваши запросы, отправляющие приложения на сервер.

То есть это будет выглядеть так: http start, здесь вы увидите какие заголовки отправляются, какое тело отправляется, если есть, а также вы получите ответ от сервера в таком формате: json, key, value, key , значение и т. д. Это закончится как http end. Далее системная версия ошибки или системная версия журнала о том, что мы теперь намерены отключить экран.

То есть эта запись появляется, когда мы просто блокируем экран телефона и он гаснет. Это попадает в нашу информацию.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Далее уровень отладки.

Это уровень сообщений, который передает информацию о процессах отладки или шагах некоторых крупных процессов, на что разработчики хотели обратить пристальное внимание.

Например, мы просто нажали качельку громкости.

Внутри этого лога, конечно, будет подробнее — если вы его поймаете, то увидите, что именно произошло: мы увеличили звук, уменьшили звук и на сколько.

И второй вариант, например, ваше приложение работает через WebSocket, и вам нужно понять, подключены вы вообще или нет. Соответственно, это сообщение о том, что соединение произошло (на экране «b$b:WebSocket Connected»).



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Следующий уровень Подробности.

Это самый низкий уровень приоритета, там будут появляться все логи, будет какая-то дополнительная информация, не вошедшая в Info, например.

Например, всплывает окно, мы его закрываем, у нас есть WindowManager и тут мы видим, добавилось ли что-то или все удалилось.

Далее вся информация о геолокации.

Например, у нас есть LocationProvider. В более продвинутой версии ваша геолокация будет написана там полностью, вплоть до долготы и широты.

И третий пример, тоже связанный со звуком, то есть какой у нас звук и насколько он громкий.

То есть, например, громкость 10 — это наш максимальный звук, и мы увеличили ее до этой опции (на экране «AudioManager:getStreamVolumestreamType:3 Volume:10»).

Очень похоже на Инфо, но я бы сказал, что в него передается более подробная информация.



Как удалить логи?



Андроид



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Первый инструмент — Android Studio, а именно утилита Logcat. Что нужно, чтобы начать записывать логи с помощью Android Studio? Сначала, конечно, нужно перевести устройство в режим разработчика.

В настройках ищите номер вашей сборки или операционной системы, в зависимости от того, на каком устройстве вы собираетесь смотреть, он варьируется от производителя к производителю.

Нажмите на эту информацию около 10 раз, и вы увидите сообщение «Хотите ли вы перевести свое устройство в режим разработчикаЭ» Нажмите «ОК», и ваш телефон уже не такой обычный.

Далее вам необходимо подключить это устройство через USB к компьютеру, естественно на сам компьютер установить Android Studio, его можно установить как на Windows, так и на MacOS, здесь проблем нет.

Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Открыв Android Studio, выберите вкладку Logcat. Под цифрой 1 находится то, где найти это секретное слово.

Нажав на нее, мы переходим к сообщениям в реальном времени.

Под номером 2 находится окно, где выбираем телефон, с которого будем брать логи.

Соответственно, если ничего не подключено или не виден ваш телефон, вы не сможете здесь ничего выбрать.

Под номером 3 есть интересный момент: если вы хотите полностью удалить все логи (системные и из всех приложений, которые у вас есть), ничего здесь не выбирайте.

Если вы выберете конкретное приложение, которое находится в режиме отладки, вы увидите журналы исключительно для него.

Рядом с цифрой 3 вы видите слово Verbose — это уровень журнала, который вы хотите видеть.

То есть если выбрать Ошибка, будут только Ошибки.

И под цифрой 4 у вас есть поле поиска.

Это поле, где можно фильтровать результаты по приложению, по уровню, по какой-то нужной вам утилите, соответственно, для нас это регулярное выражение, и все достаточно просто ищется по совпадению.

Второй вариант скриншота — я уже выбрал конкретную сборку, и мы видим, что у нас есть логи по этой сборке.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Перейдем к следующему варианту.

Это стрелять через терминал с помощью того же Logcat. Нам нужно, чтобы устройство находилось в режиме разработчика, подключаем это устройство через USB к компьютеру и на компьютер необходимо установить Android Debug Bridge. Открываем терминал и пишем две команды: первая — «adb devices», которая показывает какие устройства подключены и какой adb видит устройства, второй командой говорим: «Запустите утилиту Logcat для конкретного устройства».

То есть первой командой вы увидите как называется ваше устройство, второй командой вы просто добавите к нему.

Как это выглядит: вот мой терминал, я вижу, что мое устройство называется 7BKDU., оно подключено по USB, и мой Mac его видит. Ввожу команду adb –s «имя устройства» Logcat.

Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Тогда в вашем терминале, почти так же, как и в Android Studio, будут появляться логи в режиме реального времени.

Давайте разберемся, как их читать.

Под цифрой 1 будет дата и время поступления записи.

Под цифрой 2 находится небольшой столбик, где вы видите буквы В, Д, Е, И и так далее.

Это те же уровни нашего журнала отладки, подробного описания, предупреждений или информации.

В графе 3 - названия - инструменты, утилиты или части ОС, откуда приходит сообщение, и соответственно его расшифровка - что именно у нас происходит. Конечно, похоже, что в Android всё гораздо удобнее и приятнее, можно легко фильтровать.

В Терминале фильтрация будет сложнее; вам нужно будет изменить саму команду, добавить ключи, которые будут фильтровать вывод по уровню или по отдельному приложению.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Третий вариант, который вы можете использовать для удаления журналов, — это инструменты платформы SDK. Для этого нам необходимо перевести устройство в режим разработчика и подключить его к компьютеру через USB, загрузить на компьютер папку SDK Platform Tools, она доступна для разных операционных систем.

Затем откройте папку в терминале, чтобы открылась папка SDK Platform Tools. Затем пишем команду «adb logcat — d — v time > .

log.txt», в которой указывается, что именно и в какой версии мы хотим видеть в этих логах (то есть время, приоритеты, разные теги) и говорим, что мы мы хотим сохранить эти журналы в log.txt. Итак мы прописали команды и начинаем выполнять действия на нашем устройстве, то есть нажимать на различные компоненты или воспроизводить баг, который вас беспокоит и вы хотите удалить с него логи.

Далее прерываем выполнение этой команды (на Mac это ctrl+C), и этот лог добавляется в нашу папку (android — debug.log).



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Открываем его, как видим, информация аналогична той, что в Терминале, единственное, вы остановили команду, этот файл больше не обновляется, пока вы не повторите эту команду еще раз.

Опять же в таблице 1 мы видим дату и время поступления сообщения, таблица 2 — уровень наших логов, в таблице 3 мы видим из какой части системы мы получаем данные, лог и его расшифровку.



iOS



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Конечно, первое, о чем хотелось бы рассказать, — это xCode и его встроенный симулятор.

К сожалению, xCode — программа только для MacOS. Чтобы удалить логи из симулятора, вам нужно установить xCode, зайти в меню, открыть Инструменты разработчика и симулятор.

Симулятор – это дополнительная программа, позволяющая воспроизвести работу системы, если у вас нет физического устройства.

В этом симуляторе мы устанавливаем нужное нам приложение, выбираем какой конкретно Айфон, его размер, разрешение и операционную систему.

И уже в симуляторе выбираем пункт «Отладка» и «Открыть журнал системы».

Выглядит это так: в самом симуляторе выбираю папку Debug и подвкладку Open System Log. В реальном времени работает точно так же, но они (логи) отображаются по-другому, не так, как на Андроиде.



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Видим, что уровня логирования больше нет, есть дата и время.

Номер 2 — это сообщение о том, что мы обычно видим.

Видим, с какого устройства была взята информация.

В моем случае это имя моего Mac. Мы видим дополнительную запись о том, от какого элемента системы пришло это сообщение и его расшифровку.

Например, вам придется копаться в журналах IOS глубже, чем в Android.

Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Второй инструмент также связан с xCode, но идет по другому пути.

Это Устройства и Симулятор.

Устанавливаем xCode, подключаем устройство по USB, здесь важно, чтобы было настоящее устройство.

В самом xCode откройте вкладку «Окно», там выберите подвкладку «Устройства и симулятор».

Нажмите на устройство «Открыть консоль».

На панели мы видим название нашего устройства, какая у него операционная система, модель и справа от этой кнопки нас интересует «Открыть консоль».



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Под номером 1 мы видим все приложения, которые дополнительно установлены на наши устройства, в графе под номером 2 - версию этого устройства, которую указывает разработчик.

Третий — URL-адрес нашего устройства.

То есть, например, у вашего разработчика, вашей компании, вашего приложения есть свой URL-адрес, по которому оно переходит. Соответственно, здесь это отражено.

Как это все выглядит: отслеживать, как сыпятся бревна, довольно удобно.

Они тоже текут в реальном времени, и если их никак не фильтровать, то они будут постоянно падать, но здесь все удобно смотреть.

У нас есть время этого сообщения, процесс — это из какой части системы, приложения пришло сообщение.

В графе «Сообщение» мы видим подробное описание того, что происходит, что не так, а также всю служебную системную информацию.

Интересно, что именно в «Устройствах и Симуляторе» есть поиск, позволяющий фильтровать результаты.

То есть справа вверху мы можем написать название нашего приложения, и все будет фильтроваться по процессам.

Также мы можем приостановить вывод с помощью кнопки, и тогда логи перестанут идти хаотично и бессистемно (чтобы было удобнее искать то, что вы хотите найти на устройстве).



Как удалить логи с iOS на Windows



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Существует приложение iMazing, которое устанавливается на Windows и MacOS. Подключите устройство через USB и выберите в меню «показать консоль устройства».

В целом это приложение платное, однако снимать логи с устройства можно и с помощью триальной версии, она ничем не ограничена.

Нам открывается следующее окно: видим какое устройство мы подключили, видим аккаунт, а в меню видим просто «показать консоль устройства».



Инструменты для удаления логов с устройств Android/iOS. Чтение и анализ

Если мы нажмем на нее, то увидим следующее.

Первый квадрат — это дата и время, когда мы получили это сообщение, второй пункт — от кого, с какого устройства, поскольку это уже реальное устройство, мы называем его «IP-040».

Далее пишется, из какой части системы пришло сообщение и его описание.

Под цифрой 3 мы видим поле поиска.

Мы можем отфильтровать этот вывод, можем остановить поток входящих логов с помощью кнопки «пауза» и отфильтровать его в поле поиска.

Это поможет вам сосредоточиться на конкретном приложении, которое вы используете.

iMazing также может сохранять эти журналы с помощью соответствующей кнопки.

Теги: #iOS #Android #разработка iOS #разработка Android #qa #обеспечение качества #тестирование #Тестирование мобильных приложений #Тестирование ИТ-систем

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.