Что означает adb в тестировании

android studio отладка на реальном устройстве

Статья содержит ответы на вопросы, как правильно провести Android Studio тестирование на реальном устройстве, какие при этом используются настройки и команды для разных девайсов.

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Разработка мобильного приложения предполагает процесс тестирования на работающем гаджете. Для Android Studio отладка на реальном устройстве возможна несколькими способами. Это можно сделать при помощи:

Чтобы провести Android Studio отладка по USB, подключаются соответствующие драйвера. Они первыми установятся автоматически после запуска на ПК.

Android предлагает разработчикам редактирование языка программирования (Java, C++, Kotlin), является компилятором создания АРК-файлов. Включает дополнительные инструменты:

    Andro >Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Что означает ADB для Android studio

Android Debug Bridge или adb – утилита командной строки. С ее помощью проводится Android Studio тестирование на реальном устройстве:

Работает на модели клиент-сервер. Утилита размещается на компьютере в каталогах на диске С.

Adb устанавливается также через Wi-Fi. Для этого обеспечивается подключение устройств к одному Wi-Fi, иначе они не смогут распознать друг друга. Опция разрешает Android Studio запуск приложения на телефоне с операционной системой Android.

Android Debug Bridge – консольное приложение для использования в тестовой среде на мобильных гаджетах. Специализированные команды помогают взаимодействовать с устройствами по специализированным функциям.

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Настройка Android-устройства для тестирования с ADB

После установки Android Studio на устройство применяется инструментарий SDK. Далее в настройках приспособления проводятся изменения, которые отличаются из-за разных моделей гаджета, производителя и версии программного обеспечения. Действия, как в Андроид Студио подключить устройство, сводятся к обобщенным этапам:

    Перейти в настройках телефона или планшета Andro >Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Android требует, чтобы приложение Android Studio получило разрешение прописать USB. Утилита располагает опциями:

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Настройка ADB на Windows

Настройка ADB под Windows прописывается с любой директории ПК. Для использования функций на компьютере устанавливается SDK. Вес установочного пакета составляет 9 Мб. Он поддерживает все версии Windows. Инструмент автоматически устанавливает драйвера, которые необходимы для тестирования на устройстве. Набор для разработки программного обеспечения выпускается компанией Google. Отправляет команды терминала из внешних источников на телефон. Запуск происходит в Андроид Студио на телефоне с помощью Run App. После этого открывается окно выбора устройства, и запускается приложение.

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Проверяем настройки ADB для тестирования

Проверка настроек проводится с помощью командной строки Windows. После запуска в поле для ввода поиска программ и файлов набирается строка «adb devices». В программе отразится перечень устройств, которые подключены к компьютеру. Если на экране появится непустой список, значит, настройки подключены правильно, и ADB работает в режиме реального времени.

Тестирование приложения с помощью реального устройства

    В Andro >Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Инструментарий SDK устанавливает и запускает программу каждый раз при компиляции. Система показывает диалоговое окно с вопросом о необходимости приема ключей.

Что делать, если Android Studio не видит телефон Samsung? Настроить приложение, чтобы оно обнаружило устройство, использовать утилиту adb. Указанные способы рассказывают о Android Studio, показывают, как запустить проект на телефоне.

Целью данной главы является написание минимального приложение под Android. Но мы никогда не будем точно знать, смогли ли мы написать нечто работоспособное, не попробовав запустить его на реальном устройстве. Этим мы и займёмся в этой статье.

Возможность тестирования на смартфоне предоставляется ADB (Android Debug Bridge). В этой статье мы настроим его и запустим наше приложение на настоящем смартфоне.

Что такое ADB

Android Debug Bridge (ADB) является универсальным инструментом командной строки, который способствует взаимодействию между средой разработки, в нашем случае Android Studio, и AVD-эмуляторами или физическими Android-устройствами для возможности запуска и отладки приложений.

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

Настройка Android-устройства для работы с ADB

Для того, чтобы использовать ADB с устройством, подключенным по USB, необходимо разрешить USB-отладку в системных настройках телефона или планшета в разделе «Параметры разработчика» (название может отличаться). На некоторых устройствах этот раздел по умолчанию скрыт. Рассмотрим шаги в случае, когда нет нужного раздела настроек.

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

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Настройка ADB на Windows

При настройке Windows, во-первых, убедитесь, что у вас установлен Google USB Driver. Зайдите в SDK Manager в раздел Extras и найдите Google USB Driver, установите его в случае необходимости.

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Как проверить правильность настроек ADB?

Для проверки работоспособности ADB подключите устройство к компьютеру, запустите в папке platform-tools командную строку и введите в ней команду:

Должен появится список наподобие этого:

Запуск приложения на реальном устройстве

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

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Если написано, что девайс offline, перевоткните USB и разрешите USB-отладку компьютеру:

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

В результате на экране телефона или планшета покажется наше приложение.

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Заключение

На этом заканчивается глава. Мы добились успеха: смогли настроить нашу систему под разработку Android-приложений и даже запустить одно из них на настоящем устройстве.

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

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Настройки / Справка / Сведения о ПО / 7 тапов по номеру сборки
Настройки / Для разработчиков / Отладка / Отладка по USB

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

Источник

Автоматизация тестирования Android приложений

Концепция автоматического тестирования

Задача — с наибольшей точностью автоматизировать действия, которые выполняет тестировщик. Давайте их рассмотрим. В наличии есть несколько приложений и несколько Android устройств. Для каждого приложения и каждого устройства выполняются следующие шаги:

Далее рассматриваются средства, позволяющие автоматизировать перечисленные шаги.

Управление Android устройствами

Для начала нужно выделить компьютер на котором будет запускаться автоматическое тестирование и настроить на нем Android SDK. Примеры приводятся для компьютера с установленной ОС Linux.

На всех тестируемых устройствах нужно отключить экран блокировки и максимально увеличить время ожидания. Для некоторых методов тестирования нужно отключить смену ориентации экрана.

В Android SDK имеются две утилиты для управления устройствами: adb и MonkeyRunner.

Я постараюсь подробно описать автоматизацию действий, использующихся при тестировании. Тем, кто знаком с ADB и MonkeyRunner имеет смысл сразу переходить к разделу «Способы автоматизированного тестирования».

Управление с помощью утилиты ADB

ADB (Android Debug Bridge) – утилита для управления Android устройствами из командной строки. Официальная документация по ADB: developer.android.com/tools/help/adb.html

Проверка работы ADB

Устанавливаем и настраиваем Android SDK, подключаем к компьютеру Android устройства и выполняем команду:

Команда выдаст список всех подключенных устройств. Если список устройств не пуст, значит ADB настроен и работает.

Работа с несколькими устройствами

Основные команды ADB

Открыть консоль на устройстве:

Запустить команду на устройстве:

В Android присутствуют многие стандартные утилиты Linux: ls, cat, dmesg,…

Установить приложение из apk файла:

Название package можно получить из apk файла командой:

Загрузить файл с устройства на компьютер:

Загрузить файл с компьютера на устройство:

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

Чтение логов

Чтение логов в Android производится утилитой logcat.
Домашняя страница утилиты logcat: developer.android.com/tools/help/logcat.html

Считать логи с устройства (блокируется до нажатия Ctrl-C):

Очистить буфер логов на устройстве:

Считать буфер логов на устройстве (выдает текущее содержимое буфера, не блокируется):

Снятие скриншотов с помощью утилиты screencap

Утилита screencap сохраняет текущее содержимое экрана в графический файл:

Утилита screencap имеется на телефонах с Android 4.x и выше. На предыдущих версиях Android снятие скриншотов можно производить с помощью MonkeyRunner.

Пример BASH скрипта для тестирования приложения c помощью ADB

Управление с помощью MonkeyRunner

Утилита MonkeyRunner предоставляет API для написания скриптов, которые управляют Android устройстами. С помощью MonkeyRunner можно написать скрипт на языке Python, который устанавливает Android приложение, запускает его, имитирует действия пользователя, снимает скриншоты и сохраняет их на компьютер. Утилита MonkeyRunner использует Jython для выполнения скриптов.

Что означает adb в тестировании. Смотреть фото Что означает adb в тестировании. Смотреть картинку Что означает adb в тестировании. Картинка про Что означает adb в тестировании. Фото Что означает adb в тестировании

Чтение логов с помощью MonkeyRunner

Скрипт запишет логи в файл example.log в текущей директории.

Снятие скриншотов

Скрипт снимает скриншот и сохраняет его в файл screenshot.png в текущей директории.

Пример управления устройством с помощью MonkeyRunner

Средства автоматизированного тестирования

Тестирование с помощью monkey

Представьте, что устройство попало в цепкие лапы очень активной и творческой обезьяны – утилита monkey призвана имитировать подобную ситуацию.

Утилита monkey входит в состав Android SDK. Утилита отправляет на устройство поток псевдо-случайных действий пользователя. Параметры командной строки задают количество действий пользователя, соотношение их типов и имя тестируемого пакета, чтобы, например, обезьяна не вышла за пределы тестируемого приложения и не начала рассылать SMS по всем контактам из адресной книги.

Примеры использования и перечень параметров приведены на домашней странице: developer.android.com/tools/help/monkey.html

Главное достоинство monkey – отсутствие затрат на поддержку. Кроме того, стресс-тестирование приложения потоком произвольных событий может обнаружить нетривиальные ошибки.

Тестирование с помощью MonkeyRunner

При помощи скриптов использующих MonkeyRunner API можно не только разработать основу для тестирующей системы, но и написать скрипты для тестирования конкретного приложения на конкретном устройстве.

Тестирование с помощью getevent/sendevent

На устройстве должны воспроизвестись записанные действия.

Тестирование с помощью Robotium

В отличии от рассмотренных ранее способов Robotium не входит в состав Android SDK, а распространяется под Open Source лицензией.

Главное отличие Robotium в том, что тестовые действия описываются на уровне интерфейса приложения. В рассмотренных ранее способах тестовые действия явно или неявно описывались на уровне устройств ввода.

Например, в приложении нужно нажать кнопку «OK». С помощью скрипта MonkeyRunner нажатие на кнопку реализуется как: «Коснуться точки экрана с координатами (x0, y0)». С помощью Robotium это реализуется как: «Нажать кнопку с текстом «OK»».

Когда действия описываются на уровне интерфейса приложения их можно сделать независимыми от расположения элементов интерфейса, разрешения экрана и положения устройства.

Кроме того, Robotium позволяет проверять реакцию приложения на действие.

Например, после нажатия на кнопку «OK» в приложении должен появиться список с элементом «Item 1». С помощью Robotium можно проверить, появился ли список с таким элементом.

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

Сравнение способов тестирования

Способ тестированияДостоинстваНедостатки
Monkey – поток случайных действий пользователя.Отсутствуют затраты на сопровождение.
Не зависит от устройства.
Стресс-тестирование позволяет обнаружить нетривиальные ошибки.
Качество тестирования варьируется от приложения к приложению.
Найденные ошибки сложно воспроизвести.
Нет проверки состояния приложения.
MonkeyRunner – скрипт управления устройством.Гибкость.Сложность написания и поддержки скриптов даже для простых приложений.
getevent/sendevent – запись/воспроизведение действий пользователя.Для записи последовательности действий не требуются навыки программирования.Записанная последовательность действий подходит только к одному устройству при фиксированной ориентации.
При изменении интерфейса приложения необходимо заново записать последовательность действий.
Нет проверки состояния приложения.
Robotium – сценарий тестирования интерфейса приложения с проверкой состояния.Действия описываются на уровне интерфейса приложения.
Сценарий может быть независимым от разрешения экрана и ориентации устройства.
После совершения действия можно проверять состояние приложения.
Сложность написания сценариев на языке Java. При изменении интерфейса приложения сценарий придется модифицировать.

Анализ результатов

В результате тестирования приложения перечисленными выше способами мы получили логи и скриншоты. Теперь их нужно проанализировать на наличие ошибок.

Анализ логов

Анализ скриншотов

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

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

MonkeyRunner позволяет сравнить два скриншота с заданным допуском в процентах:

К сожалению, в API MonkeyImage не предусмотрена функция загрузки из файла. Поэтому для сравнения сохраненных скриншотов придется писать свою функцию, например с помощью Python Imaging Library.

Сброс состояния устройства после тестирования

После тестирования приложения устройство нужно вернуть в первоначальное состояние.

Многократное нажатие кнопки «Назад»

Нажимаем кнопку «Назад» используя MonkeyRunner:

На практике этот вариант оптимален, так как имитирует поведение реального пользователя.

Заключение

В заметке были рассмотрены некоторые способы автоматического тестирования Android приложений, их достоинства и недостатки. Кроме того, рассмотрены инструменты, входящие в Android SDK или распространяющиеся под Open Source лицензией.

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

Источник

Отладка по ADB

ADB (Android Debug Bridge) – консольная клиент-серверная программа, выполняет роль универсального интерфейса для управления Android-устройствами (или их эмуляторами).

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

Однако главное назначение ADB – это отладка приложений и сервисов при их разработке и тестировании. В этом случае взаимодействие с устройством осуществляется через консоль.

В состав ADB входит три компонента:

Подготовка к использованию

Прежде чем начать отладку на устройстве, необходимо выполнить несколько действий:

Установка ADB

На устройствах под управлением Windows, установите драйвер для вашего Android-устройства.

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

Для MacOS и Linux установка драйверов не требуется.

Установка ADB в Windows

Скачайте SDK Platform Tools и распакуйте папку platform-tools на диск (рекомендуется в С:\platform-tools).

В системную переменную Path добавьте путь к распакованной папке, для этого:

Установка ADB в Linux

Чтобы установить SDK Platform Tools в Ubuntu выполните следующую команду.

Установка ADB в MacOS

Самый простой способ установить SDK Platform Tools на MacOS, используя Homebrew.

Либо установить вручную.

Сперва удалите предыдущую версию android-platform-tools, если такая имеется.

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

Обновите bash профиль или перезапустите терминал.

Проверка ADB

Зайдите в консоль и введите следующую команду:

Если все сделали верно, в ответ в консоль будет выведена информация о версии ADB.

Как включить отладку по USB на Android

Отладка по USB включается в настройках системы в разделе Параметры разработчика.

На Android 4.2 и выше раздел параметров разработчика по умолчанию скрыт. Чтобы сделать его видимым, перейдите в НастройкиО телефоне и нажмите Номер сборки (в редких случаях Номер модели) 7 раз (в редких случаях 10). На экране отобразится уведомление «Теперь вы разработчик!«

В настройках должен появиться пункт меню Параметры разработчика, найдите в нем пункт Отладка USB и активируйте его.

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

Отладка Android по Wi-Fi

Для начала разрешите на Android устройстве отладку по USB, как описано в предыдущем разделе.

Устройство и компьютер должны быть в одной Wi-Fi сети. Убедитесь, что ваш брандмауэр или антивирусное не блокирует adb соединения.

Подключите устройство к компьютеру с помощью USB кабеля.

Разрешите устройству принимать соединения TCP/IP через порт 5555. Для этого выполните в командной строке следующую команду.

В ответ должно появиться сообщение restarting in TCP mode port: 5555.

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

Узнать серийный номер и получить информацию о подключенных устройствах можно следующей командой.

После того, как разрешите устройству принимать соединения TCP/IP через порт 5555, отсоедините кабель USB от компьютера.

Далее понадобится узнать ip-адрес вашего Android-устройства.

Например, для устройств Nexus, ip-адрес можно посмотреть в разделе НастройкиО телефоне (О планшете) – СтатусIP-адрес. Иногда ip-адрес указан в настройках Wi-Fi.

Подключитесь к устройству по его ip-адресу.

Убедитесь, что устройство появилось в списке.

Теперь можно выполнять отладку по Wi-Fi, без использования кабеля.

Если соединение ADB потеряно. Убедитесь, что устройство и компьютер все еще подключены к одной Wi-Fi сети. Переподключитесь, выполнив adb connect снова. Или, если не поможет, перезагрузите хост adb:

Затем повторите попытку.

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

Команды ADB

Перед выполнением команд adb полезно знать, какие экземпляры устройств подключены к серверу adb. Список подключенных устройств можно посмотреть следующей командой.

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

Нижеприведенная команда отправится на устройство с указанным серийным номером.

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

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

Подсоединиться к андроид хосту по протоколу TCP/IP (по умолчанию порт 5555, если не указан другой).

Отсоединиться от андроид подключенного через TCP/IP (по умолчанию порт 5555). Если не задан ни один параметр, отключиться от всех активных соединений.

Перезапуск демона с правами root.

В некоторых случаях может потребоваться остановить сервер adb, и перезапустить его, чтобы решить проблему (например, если adb не отвечает на команды).

Копировать файл или папку на устройство.

Копировать файл или папку с устройства на компьютер.

Установить приложение на устройство.

Ключи:
-l блокировка приложения;
-r переустановить приложение, с сохранением данных;
-s установить приложение на карту памяти.

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

Сделать скриншот экрана устройства.

Полученный скриншот можно сразу забрать на компьютер.

Для записи видео с экрана устройства используйте команду screenrecord.

Чтобы остановить запись используйте комбинацию клавиш Control + C (Command + C на Mac). По умолчанию максимальный лимит для видео составляет 3 минуты.

ADB LogCat

Logcat — инструмент для работы с логами Android.

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

Для остановки сбора логов нажмите Ctrl+C на клавиатуре (Command + C на Mac).

В записях лога в Android указан приоритет:

Фильтровать сообщения по приоритету можно следующим образом.

Кроме приоритета у записей указан тэг компонента системы, от которого принято сообщение.

Список параметров команды logcat:

-d вывести лог на экран и выйти;
-b загрузить альтернативный буфер лога для просмотра, такой как event или radio;
-c очистить лог и выйти;
-f записать сообщения лога в файл. По умолчанию в stdout;
-g вывести размер указанного буфера лога и выйти;
-n установить максимальное количество ротаций лога;
-s устанавливает silent фильтром по умолчанию;
-v устанавливает формат вывода сообщений лога. По умолчанию brief.

ADB Shell

Android полноценная система Unix со своим Shell, к которому можно подключаться по adb.

Команда подключит ваш терминал к shell устройства и вы сможете взаимодействовать с ним используя Unix команды, cat, ls, df и другие, а также запускать скрипты.

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

Команда выше выдаст информацию о количестве свободной памяти на устройстве.

Следующая команда откроет на устройстве экран с настройками.

А две последующие через ADB включают и отключают соответственно прокси в настройках сети.

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

Полезные ссылки

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Источник

Добавить комментарий

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