Idea android usb отладка
Я попытался отключить и снова подключить его, но это не сработало. И я также включил параметры USB-отладки и неизвестных источников на моем устройстве.
Любая помощь приветствуется!
Если вы находитесь в Windows, много раз он не будет полностью распознавать устройство и из-за проблем с драйвером, устройство не появится.
- перейдите в настройки
- панель управления
- Оборудование и звук
- Диспетчер устройств
И ищите любые устройства, показывающие ошибку. Многие андроиды будут отображаться как неизвестное устройство USB. Выберите это устройство и попробуйте обновить драйверы для него.
У меня была эта проблема с Nexus 7 – она появилась в диспетчере устройств, но не была распознана Android Studio. Устройство включило USB-отладку. В конце концов я заметил значок в верхнем левом углу, в котором говорилось: «Подключено как мультимедийное устройство. Коснитесь для других опций USB». Когда я выбрал это, я смог перейти с Media Device (MTP) на Camera (PTP), а затем начал работать.
Это решение работает для каждого непризнанного устройства Android … в основном общие бренды не поставляются с USB-драйверами отладки …
- перейдите в настройки
- панель управления
- Оборудование и звук
- Диспетчер устройств
- И ищите любые устройства, показывающие ошибку. Многие андроиды будут отображаться как неизвестное устройство USB или просто Android
Первое, что вам нужно, это ваши идентификаторы устройств. Вы можете заставить их открыть диспетчер устройств и найти «Неизвестное устройство» с желтым восклицательным знаком. Щелкните правой кнопкой мыши на нем и выберите «Свойства», а затем перейдите на вкладку «Подробности». В раскрывающемся меню «Свойство» выберите идентификаторы оборудования. Должны быть две строки:
Скопируйте эти строки где-нибудь, а затем перейдите туда, где вы загрузили драйвер Google USB. Затем вам нужно открыть файл «android_winusb.inf» в текстовом редакторе. Я бы рекомендовал использовать Notepad ++.
Сначала создайте подраздел для своего устройства. Я назвал свой «RCA 6378W2», но на самом деле не имеет значения, что вы называете. Затем в разделе, который вы создали, вставьте идентификаторы устройств, которые вы скопировали из Диспетчера устройств, которым предшествует «% SingleAdbInterface%». Если вам нужна помощь, посмотрите на этот снимок экрана.
ЗАМЕТКА:
Пожалуйста, ознакомьтесь с этой статьей, для получения дополнительной информации и инструкций MacOS.
Обнаружив Samsung, установка Kies также обновляет драйвер USB, который решает мою проблему с подключением моего Samsung Galaxy S Advance с Android 4.1.2 к Android Studio на Windows 7 64bit. В этом случае диспетчер разработки показывает, что драйвер устройства обновлен и работает, но когда я подключаю свой телефон, Android Studio не распознает мое устройство.
У меня была такая же проблема с подключением Galaxy Nexus к win7 x64. Я решил это, получив драйверы, их можно скачать здесь, а также через Android SDK manager.
У меня эта проблема на Mac OSX Mavericks с помощью Android Studio, используя мой Samsung Galaxy Express, я сделал небольшой трюк, Run -> Edit Configurations -> Run -> Show chooser dialog. Когда я «играю», и появилось диалоговое окно, я подключил свое устройство, и оно появилось. 😉
После того, как вы поместите свой телефон в режим разработчика, перезапустите его. Это сработало для меня, возможно, это сработает и для вас. После перезагрузки телефон был распознан, драйверы были автоматически установлены. Примечание. Я работаю в Windows 7.
Сначала вам нужно установить драйвер. Следуйте инструкциям на веб-сайте разработчиков Android:
У меня была та же проблема с запиской галактики Samsung 2. Она была распознана на одном ПК, но не на другом (оба запускали окна 7 64b). После нескольких часов борьбы я установил Kies (с веб-сайта Samsung) на компьютер, где Android Studio не удалось обнаружить смартфон (Kies был установлен на другом).
Как и магия, Android Studio обнаружила телефон . Я заметил, что установщик Kies установил драйвер для телефона.
Следовательно, для тех, кто встречает ту же проблему обнаружения, я настоятельно рекомендую сначала установить Kies.
Проверьте установленные драйверы. Если драйверы в порядке, проверьте USB-порт устройства, он может быть поврежден.
Попробуйте другой кабель, в идеале официальный Samsung.
Я попробовал дерьмовый USB-кабель, на котором я лежал, а затем попробовал другой, который был Samsung, и теперь работает отлично.
Не знаю, почему они были бы разными, но работали для меня.
У меня Samsung Galaxy S4. Несмотря на то, что я был доступен с устройств, мой телефон не был указан как подключенный к Android Studio. Я пробовал несколько вещей самостоятельно, а затем вместе, и обнаружил, что только комбинация шагов устраняет проблему, так что это для вас, если меры, перечисленные выше или на другом сайте, не работают сами по себе.
- Включить отладку USB из «Параметры разработчика»
- Загрузите Kies от Samsung. Я считаю, что Samsung US заменила Kies новым программным обеспечением под названием Smart Switch, но это ничего не разрешило для меня. Я нашел загрузку Kies от Samsung UK, которая отлично работала.
- После подключения телефона к компьютеру через USB, перейдите в уведомления о своем телефоне и нажмите на USB-настройки вверху. Переключите его в режим камеры.
Повторяю, только все три из них вместе исправили проблему, поэтому, если некоторые исправления, которые вы пробовали, не сработали, используйте эти 3, и это может решить проблему для вас. Удачи.
Перезагрузка Android Studio Работа в моем случае
Для меня этот простой трюк работал:
Я действительно включил и отключил указанный USB-адаптер для Android в диспетчере устройств (Панель управления -> Оборудование и звук -> Диспетчер устройств). И святая моли работает! : D
В зависимости от модели устройства, которую вы используете, вам нужно будет найти конкретные драйверы, которые работают на вашем телефоне, и это должно работать.
Galaxy S7, мне пришлось перейти к настройкам, настройкам разработчика и разрешить USB-отладку. Это попросило одобрить компьютер, к которому он привязан, и он появился мгновенно.
Я попытался перезапустить устройство, и это работа, всплывающее окно и попросить вас доверять Mac для режима отладки.
Мой путь к файлу:
Мои данные для вставки:
Как подключиться к устройству, работающему с помощью командной строки adb :
Отладка USB включена по телефону и телефону.
Я выполняю эти команды на linux (redhat и ubuntu), но те же команды работают под капотом на окнах. Диспетчер устройств запускает команды adb. Вы можете найти консоль в своем диспетчере устройств или обычную командную строку, если вы настроите свои пути к SDK.
Если вы можете запустить adb и увидеть что-то вроде . В списке устройств ..
Возможно, вы используете сервер adb как обычный пользователь. Возможно, вам придется запустить сервер adb как root. Поэтому уберите сервер как обычный пользователь и запустите его как root.
Теперь просмотрите список устройств adb, если он впервые подключен к этому телефону, вы увидите «несанкционированный».
В этот момент на телефоне должен появиться диалог, и вы можете нажать ok для авторизации. Затем вы должны увидеть «устройство» в списке устройств, и такие команды, как shell / push / pull / sync / backup …, должны работать.
В статье будет рассказано о том, как подключить отладчик к Android-приложению и пошагово пройти через вызываемые методы, используя информацию, полученную после декомпиляции приложения.
Автор: Eric Gruber
В статье будет рассказано о том, как подключить отладчик к Android-приложению и пошагово пройти через вызываемые методы, используя информацию, полученную после декомпиляции приложения. Хорошая новость в том, что для отладки не требуются привилегии суперпользователя. Описанные техники могут быть очень кстати во время пентестов мобильных приложений, поскольку мы можем «проникнуть» в код во время работы программы, получить и записать информацию, к которой обычно у нас нет доступа. Например, можно перехватить трафик перед шифрованием и на лету получить ключи, пароли и любую другую ценную информацию. Статья будет полезна пентестерам и разработчикам мобильных приложений, желающих получить более глубокие знания о возможных атаках на платформе Android.
Требования к тестовой среде:
В статье будет использоваться следующая конфигурация: Windows 8, Android Studio и IntelliJ IDEA. Устройство: Nexus 4 с Android версии 4.4.4. Рекомендую все утилиты добавить в переменную окружения PATH, чтобы облегчить и ускорить доступ к этим инструментам.
Настройка устройства
Инструкция ниже поможет вам подготовить устройство для экспериментов.
Активация раздела Developer Options
Рисунок 1: Для того чтобы активировать раздел Developer options, необходимо несколько раз кликнуть на Build number
Разрешение отладки через USB
Чтобы разрешить отладку через USB-порт, зайдите в раздел Settings > Developer options и отметьте флажок напротив USB debugging.
Рисунок 2: Включение опции USB debugging
Подключение устройства и запуск ADB
Устройство должно отобразиться в списке.
Рисунок 3: Список подключенных устройств
Если устройство не отобразилось в списке, то наиболее вероятная причина в некорректно установленных драйверах (в Windows). В зависимости от устройства драйвер можно найти либо в Android SDK, либо на сайте производителя.
Проверка приложения на возможность отладки
Перед отладкой Android-приложений вначале необходимо проверить, есть ли такая возможность. Проверку можно выполнить несколькими способами.
Первый способ – запустить Android Device Monitor, входящий в состав Android SDK (в папке tools). В Windows файл называется monitor.bat. При открытии Android Device Monitor устройство отобразится в разделе Devices.
Рисунок 4: Приложение Android Device Monitor
Если какое-либо приложение на устройстве можно отлаживать, это приложение также отобразится в списке. Я создал тестовую программу, но список пуст, поскольку программу отлаживать нельзя.
Второй способ проверить приложение на возможность отладки – исследовать файл AndroidManifest.xml из пакета приложения (APK, Android application package). APK представляет собой zip-архив, содержащий всю информацию, необходимую для запуска приложения на Android-устройстве.
Всякий раз, когда приложения загружается из Google Play Store, также загружается и пакет приложения. Все загруженные APK-файлы обычно хранятся на устройстве в папке /data/app. Если у вас нет прав суперпользователя, вы не сможете получить список файлов из директории /data/app. Хотя, если вы знаете имя APK-файла, можете скопировать его при помощи утилиты adb. Чтобы узнать имя APK-файла, введите следующую команду:
Появится командная строка устройства. Затем введите следующую команду:
pm list packages -f
Отобразится список всех пакетов на устройстве.
Рисунок 5: Перечень пакетов на устройстве
Глядя на список, находим тестовое приложение.
Рисунок 6: Пакет созданного тестового приложения (выделено белым)
Теперь необходимо скопировать файл пакета. Открываем шелл и вводим следующую команду:
adb pull /data/app/[.apk file] [location]
Рисунок 7: Копируем APK-файл с устройства в систему
Теперь нужно открыть файл пакета и исследовать содержимое AndroidManifest.xml. К сожалению, мы не можем просто так распаковать архив, поскольку APK-файл закодирован в бинарном формате. Для раскодировки чаще всего используется утилита apktool, хотя я использую APK Studio, поскольку у этого приложения дружелюбный графический интерфейс. Далее в статье будет рассказываться об APK Studio.
В APK Studio кликните на маленькую зеленую иконку, задайте имя проекту и укажите путь к APK файлу. Затем укажите пусть для сохранения проекта.
Рисунок 8: Создание нового проекта в APK Studio
После открытия APK выберите файл AndroidManifest.xml и посмотрите параметры тега application. Если флаг android:debuggable отсутствует (или присутствует, но установлено значение false), значит, приложение отлаживать нельзя.
Рисунок 9: Содержимое файла AndroidManifest.xml
Модификация файла AndroidManifest.xml
При помощи утилиты apktool или APK Studio мы можем модифицировать файлы и упаковывать содержимое обратно в пакет. Сейчас мы изменим файл AndroidManifest.xml так, чтобы приложение можно было отлаживать. Добавляем внутрь тега application строчку android:debuggable="true".
Рисунок 10: Изменяем содержимое тега application
После добавления флага кликаем на иконку «молоток» и заново собираем пакет. Пересобранный пакет будет находиться в директории build/apk.
Рисунок 11: Повторная сборка пакета завершилась успешно
После пересборки пакет подписывается и его можно заново установить на устройстве (все Android-приложения должны быть подписаны). Большинство приложений не проверяет сертификат, при помощи которого происходит подпись. В противном случае необходимо изменить код, выполняющий эту проверку.
Теперь нужно установить пересобранный пакет. Вначале удаляем старое приложение при помощи следующей команды:
adb pm uninstall[package name]
Затем устанавливаем новый пакет:
adb install [.apk file]
Также можно удалить и установить пакет одной командой:
adb install -r [.apk file]
Рисунок 12: Установка пересобранного пакета
Проверьте, чтобы переустановленное приложение корректно запускалось на устройстве. Если все работает, переходим обратно в Android Device Monitor, где должно появиться тестовое приложение.
Рисунок 13: Теперь пересобранное приложение можно отлаживать
Настройка среды разработки (IDE)
Теперь к пересобранному приложению можно подцепить отладчик, но вначале нужно создать проект в среде разработки (в статье используется IntelliJ IDEA). Создаем новый проект. В поле Application name указываем произвольное имя. В поле Package name указываем имя, в точности совпадающее с иерархией папок пересобранного пакета.
Рисунок 14: Создание нового проекта в IntelliJ IDEA
Рисунок 15: Иерархия директорий тестового приложения
Снимите флажок «Create Hello World Activity» и завершите создание проекта (все остальные параметры остаются по умолчанию). Новый проект должен выглядеть примерно так:
Рисунок 16: Иерархия папок и файлов нового проекта
После создания проекта нужно добавить исходный код из APK-файла для того, чтобы отладчик «знал» имена символов, методов, переменных и т. д. Хорошая новость в том, что Android-приложения можно декомпилировать практически без потери качества (исходный код будет совпадать с оригиналом). После декомпиляции исходный текст импортируется в среду разработки (IDE).
Получение исходных текстов из пакета приложения
Для начала необходимо преобразовать APK в jar-файл. Затем мы при помощи java-декомпилятора получим исходный текст приложения. Преобразование в jar будем делать при помощи утилиты dex2jar. У dex2jar есть файл d2j-dex2jar.bat, используемый для конвертирования APK в jar. Синтаксис команды довольно прост:
d2j-dex2jar.bat [.apk file]
Рисунок 17: Преобразование APK в jar
Затем открываем или перетаскиваем полученный файл в JD-GUI (это java-декомпилятор).
Рисунок 18: Структура jar-файла
Jar-файл должен отобразиться в виде иерархической структуры, внутри которой находятся java-файлы с читабельным исходным кодом. Заходим в File > Save All Sources, чтобы упаковать все исходные тексты в zip-архив.
Рисунок 19: Сохранение исходных текстов декомпилированного файла
После сохранения исходных текстов распаковываем архив в отдельную директорию.
Рисунок 20: Распакованный архив
Теперь нужно импортировать обе директории в созданный ранее проект в IDE. В IntelliJ заходим в папку src и копируем туда содержимое распакованного архива (две директории).
Рисунок 21: Обе папки скопированы в директорию src
Возвращаясь в Intellij, видим обновленный проект.
Рисунок 22: В проекте появились исходные тексты
Если мы кликнем на какой-нибудь элемент из списка, то увидим исходный текст. Как видно на скриншоте ниже (исходный текст класса LoginActivity), исходный код обфусцирован при помощи ProGuard.
Рисунок 23: Обфусцированный исходный текст класса LoginActivity
Подключение отладчика
Теперь, когда в проекте появились исходные тексты, мы можем начать устанавливать точки останова на методах и переменных. По достижению точек останова приложение будет останавливаться. В качестве примера я установил точку останова на методе (прямо в обфусцированном коде), отвечающим за обработку информации, введенной в текстовом поле.
Рисунок 24: Поставлена точка останова на обфусцированный метод
Как только появилась точка останова, подключаем отладчик к процессу на устройстве, кликнув на иконку с экраном в правом верхнем углу (на вашей IDE иконка может отличаться).
Рисунок 25: Подключаем отладчик к процессу
Далее вам будет предложено выбрать процесс, к которому нужно подключиться. Будут отображены только процессы с флагом android:debuggable="true".
Рисунок 26: Перечень процессов для подключения отладчика
После выбора процесса отладчик подсоединится к устройству.
Рисунок 27: Отладчик подключен к процессу, запущенному на устройстве
В текстовое поле я буду вводить число 42 (если помните, на соответствующем методе стоит точка останова).
Рисунок 28: В текстовое поле вводим число 42
После нажатия на кнопку «Enter Code» выполнение приложения прервется на точке останова, поскольку отладчик «осведомлен», какой метод вызывается на устройстве. Скомпилированное Android-приложение содержит отладочную информацию (например, имена переменных), доступную любому отладчику, совместимому с Java Debug Wire Protocol (JDWP). Если в приложении разрешена отладка, отладчик, совместимый с JDWP (в эту категорию попадает большинство отладчиков идущих в составе сред разработки для Java), сможет подсоединиться к виртуальной машине Android-приложения, а затем считывать и выполнять отладочные команды.
Рисунок 29: Сработала точка останова
На скриншоте ниже видно число, которое ранее мы ввели в текстовом поле.
Рисунок 30: Перечень переменных текущего экземпляра класса
Мы можем не только считывать данные в приложении, но и вставлять свои собственные. Это может быть полезно, если мы, например, захотим прервать поток выполнения кода и обойти некоторые участки алгоритма. При помощи отладчика мы можем лучше понять логику работы приложения и проанализировать то, что недоступно обычному пользователю. Например, может оказаться очень полезным просмотр используемых функций шифрования и динамические ключи. Кроме того, иногда при отладке полезно знать, как функции взаимодействуют с файловой системой или базой данных, чтобы понять какая информация сохраняется приложением. Подобные манипуляции доступны на любом Android-устройстве без привилегий суперпользователя.
Один хакер может причинить столько же вреда, сколько 10 000 солдат! Подпишись на наш Телеграм канал, чтобы узнать первым, как выжить в цифровом кошмаре!
В этой статье хочу поделиться опытом решения задачи запуска автоматизированного тестирования мобильного приложения на Android.
Наполнение созданных папок и загрузка других компонентов
Тестирование приложения с помощью реального устройства
Инструментарий SDK устанавливает и запускает программу каждый раз при компиляции. Система показывает диалоговое окно с вопросом о необходимости приема ключей.
Что делать, если Android Studio не видит телефон Samsung? Настроить приложение, чтобы оно обнаружило устройство, использовать утилиту adb. Указанные способы рассказывают о Android Studio, показывают, как запустить проект на телефоне.
6. Настройка Android устройства
Реальное устройство
Нужен USB кабель для подключения устройства к компьютеру и непосредственно сам смартфон.
Для начала в смартфоне заходите в “Настройки” — “О телефоне”.
Далее на разных смартфонах все по разному, но суть, нужно найти “Серийный номер” и нажимать на него 5-7 раз пока не появится тостер, что “Вы теперь разработчик” (текст оповещения может отличаться от модели к модели)
После этой манипуляции у вас в настройках телефона появится раздел “Для разработчиков”. Он также может прятаться от модели к модели в разных разделах, например где-то он будет в “Настройки” — “Для разработчиков”, а где-то “Настройки” — “Спец.возможности” — “Для разработчиков” и т.п.
Вам нужно зайти в раздел “Для разработчиков” и активировать “Отладка по USB”.
Виртуальное устройство
Также можно через Android Studio создать виртуальное устройство, тогда не нужно будет подключать реальное устройство к компьютеру.
Но на виртуальном устройстве тесты могут отрабатывать медленнее, чем на реальном.
Для того чтобы его создать открываете Android Studio, далее:
- “Tools” — “AVD Manager” — “+ Create Virtual Device…”
- Выбираете устройство, нажимаете Next
- Выбираете желаемую версию Android, нажимаете Next
- Указываете имя устройства, нажимаете Finish
Как проверить что ваш ПК увидел подключенное устройство?
Запускаете командную строку (“Пуск” — “Служебные — Windows” — “Командная строка”)
И вписываете команду adb devices.
В результате, если устройство подключено с включенной функцией “Отладка по USB”, вы получите подключенное устройство и его UDID (серийный номер):
Проверяем настройки ADB для тестирования
Проверка настроек проводится с помощью командной строки Windows. После запуска в поле для ввода поиска программ и файлов набирается строка «adb devices». В программе отразится перечень устройств, которые подключены к компьютеру. Если на экране появится непустой список, значит, настройки подключены правильно, и ADB работает в режиме реального времени.
Настройка ADB на Windows
Настройка ADB под Windows прописывается с любой директории ПК. Для использования функций на компьютере устанавливается SDK. Вес установочного пакета составляет 9 Мб. Он поддерживает все версии Windows. Инструмент автоматически устанавливает драйвера, которые необходимы для тестирования на устройстве. Набор для разработки программного обеспечения выпускается компанией Google. Отправляет команды терминала из внешних источников на телефон. Запуск происходит в Андроид Студио на телефоне с помощью Run App. После этого открывается окно выбора устройства, и запускается приложение.
Что означает ADB для Android studio
Android Debug Bridge или adb – утилита командной строки. С ее помощью проводится Android Studio тестирование на реальном устройстве:
- копируются файлы на смартфон и обратно;
- удаляются приложения;
- выполняются опции резервного копирования;
- восстановление приложений на устройствах.
Работает на модели клиент-сервер. Утилита размещается на компьютере в каталогах на диске С.
Adb устанавливается также через Wi-Fi. Для этого обеспечивается подключение устройств к одному Wi-Fi, иначе они не смогут распознать друг друга. Опция разрешает Android Studio запуск приложения на телефоне с операционной системой Android.
Android Debug Bridge – консольное приложение для использования в тестовой среде на мобильных гаджетах. Специализированные команды помогают взаимодействовать с устройствами по специализированным функциям.
3. Создаем переменные PATH
Правый клик мышкой на “Мой компьютер” — “Свойства” — “Дополнительные параметры системы”.
В открывшемся окне на вкладке “Дополнительно” выбираем “Переменные среды…”
В блоке “Системные переменные” создаем новую переменную.
Первая переменная
Имя переменной — JAVA_HOME
(тот путь куда вы установили jdk в п.1, в некоторых случаях возможно, что папка Program Files будет называться Program Files (x86))
Вторая переменная
Имя переменной — ANDROID_HOME
Дополнение переменной Path
В списке системных переменных находите переменную Path и нажимаете “Изменить. ”.
Нажимаете в появившемся окне “Создать” и добавляете переменные:
- %ANDROID_HOME%\emulator
- %ANDROID_HOME%\platform-tools
- %ANDROID_HOME%\tools
- %ANDROID_HOME%\tools\bin
О чем расскажу:
- Как запустить среду автоматического тестирования используя Appium
(ОС ПК — Windows 10) - Как избежать некоторых ошибок которые возникают при попытках запуска тестов в гибридном приложении
- Некоторые базовые команды для запуска простейших тестов. Будем использовать Java и JavaScript
Среда тестирования
В качестве инструмента автоматического тестирования будем использовать Appium.
Если очень вкратце, то это инструмент позволяющий с помощью сервера отправлять команды клиенту что и за чем выполнять.
Полную информацию вы можете получить на сайте разработчика.
В удобном для вас месте на диске создаете папку “Appium automation”.
Далее в этой папке (C:\Appium automation) создаете еще несколько папок:
Android SDK | C:\Appium automation\Android SDK |
Android Studio | C:\Appium automation\Android Studio |
APK | C:\Appium automation\APK |
Appium Lib | C:\Appium automation\Appium Lib |
Selenium Lib | C:\Appium automation\Selenium Lib |
Если какие-то из приложений/компонентов у вас установлены, следуя инструкции вы просто поймете логику взаимосвязи, т.е. не обязательно все устанавливать заново.
7. Пишем проект
Добавляем import-ы.
Прописываем сервер и куда он должен будет отправлять запросы
Устанавливаем Android Driver:
Задаем параметры (свойства):
Имя устройства (найти для реального устройства можно в “Настройки” — “О телефоне”, а для виртуального “Tools” — “AVD Manager” — поле “Name”):
Cсылка на APK, который нужно будет запускать (.apk должен быть debug сборкой, чтобы вы и appium могли делать inspect приложения):
Запускаем Appium Driver:
Данного кода будет достаточно чтобы на подключенном устройстве запустилось ваше приложение.
Дополнительные команды
Для того чтобы приостановить выполнение проекта на некоторое кол-во времени, например 8 сек. (значение указывается в миллисекундах). Может понадобиться в случае когда нужно подождать загрузку страницы или приложения:
Получаем ContextHandles, где понимаем с чем сейчас работаем (NATIVE_APP или WEBVIEW):
Назначаем Context последнее значение полученное в массиве. Это позволит корректно переключиться на WEBVIEW, т.к. по умолчанию Context = NATIVE_APP:
Управляем интерфейсом приложения
Т.к. мы работаем с гибридным приложением, т.е. элементы приложения отрисовываются в WEBVIEW, а не в NATIVE_APP, то нам чаще всего придется использовать один тип поиска элемента findElementByCssSelector.
Нажимаем на кнопку Ок:
— где .button-ok это class элемента. Ровно также можно использовать и ID элемента.
Вот таким способом вы уже можете управлять вашим приложением.
Рано или поздно вы упретесь в то, не весь контент помещается на экран смартфона, т.е. вам нужно скролить. Если элемент не виден на экране в процессе прохождения тестирования Appium выкинет ошибку, что он не видит элемент и скорее всего все дальнейшее тестирование накроется ошибками.
Для того чтобы выполнить скрол по экрану можно выполнить JS функцию scrollIntoView в Java.
В моем случае это позволит опуститься к кнопке Ок.
Может быть казус, что вы вроде написали все правильно, но скрол не выполняется.
Пробуйте делать привязку к другим элементам на экране и сначала лучше это выполнить через консоль в Chrome — Inspect, чтобы вы гарантированно понимали, что при привязке к этому элементу скрол сработает.
Можете перейти к п.8 и если у вас все заработает, то это прекрасно!
Но у меня был еще один подводный камень.
Имя его Браузер Crosswalk.
Когда я запускал проект у меня постоянно сыпалась ошибка:
А значит не один тест не выполнялся.
Что нужно проверить в этом случае:
— где C:\\node_modules\\appium-with-crosswalk-fix\\chromedriver\\2.28\\chromedriver.exe
это путь исправленному chromedriver
Привет, я хочу сделать тестовое приложение, которое использует звукозапись, но в эмуляторе это не работает. Мне нужно протестировать его на своем телефоне, но каждый раз, когда я меняю вариант использования USB, он никогда не обнаруживает мой Wildfire S … который подключен и в режиме отладки USB.
В нем говорится: «Нет USB-устройства найдено».
Вы посмотрели эту ссылку в документации на Android?
Это помогло мне, используя мой Samsung для тестирования приложений.
Это работает для меня:
-
Разблокируйте настройки разработчика в телефоне ( ссылка )
Убедитесь, что установлен USB-драйвер Adb (решение для Windows 8 и 8.1):
- Подключите устройство через USB
- Щелкните правой кнопкой мыши на «Этот компьютер» (Мой компьютер) -> Управление -> Диспетчер устройств -> Другие устройства
- Если драйвер usb не установлен, в «Other dvices» появится ваш телефон
- Загрузите драйвер ADP USB для вашего телефона ( общий список драйверов )
- Щелкните правой кнопкой мыши на своем устройстве -> Обновить драйвер программного обеспечения -> Просмотрите свой компьютер для загруженного каталога драйверов
- Нажмите «Далее» и установите драйверы.
- Вы можете получить такую ошибку:
При попытке добавить драйвер в магазин возникла проблема.
IDE по-прежнему не распознает ваш телефон
Попробуйте выполнить команду ( установите PATH, если команда не распознана ):
adb devices
С результатом вот так:
Сервер adb устарел. Killing … daemon начал успешно `
Теперь IDE должна распознать ваше устройство
Проблема была решена путем установки HTC Sync, который установил правильный драйвер и позволил мне обнаружить устройство.
В принципе, вы хотите запустить две команды:
Когда вы запустите вторую команду, она перезапустит сервер, и вы должны увидеть свое устройство в списке:
Если вы попробуете запустить приложение снова из IntelliJ (или Android Studio), оно должно работать, если ваше устройство было указано выше.
Для Sony EXPERIA я установил PC Companion, и тогда все было в порядке. (Или вы можете просто установить или обновить устройство, но оно не работает для меня на Windows 7.)
Android sdk Manager
Вы можете установить или обновить драйвер Google Usb в sdk-менеджере. Это может помочь любому непризнанному устройству. Нажмите верхнюю ссылку, чтобы увидеть, где.
Все, пожалуйста, обновите до новой версии (для меня это 12.04). Уже все хорошо!
Не тратьте больше времени на ошибки, связанные с форкированием и версией.
Подключите телефон к ADB: Linux
Разработка мобильного приложения предполагает процесс тестирования на работающем гаджете. Для Android Studio отладка на реальном устройстве возможна несколькими способами. Это можно сделать при помощи:
- эмулятора;
- сетевого подключения TCP,IP;
- USB.
Чтобы провести Android Studio отладка по USB, подключаются соответствующие драйвера. Они первыми установятся автоматически после запуска на ПК.
Android предлагает разработчикам редактирование языка программирования (Java, C++, Kotlin), является компилятором создания АРК-файлов. Включает дополнительные инструменты:
4. Appium
Загружаем Appium:
Запускаем загруженный .exe файл и устанавливаем Appium на ваш ПК. В процессе установки нужно будет выбрать только устанавливать глобально или конкретному пользователю. Я устанавливал глобально, т.к. для меня это не имеет значения.
Загружаем библиотеки Appium:
Загруженный .jar файл перемещаете в папку
Загруженный .jar файл перемещаете в папку:
Загруженный .jar файл перемещаете в папку:
Загружаем библиотеки Selenium:
Распаковываем загруженный архив в папку:
Настройка Android-устройства для тестирования с ADB
После установки Android Studio на устройство применяется инструментарий SDK. Далее в настройках приспособления проводятся изменения, которые отличаются из-за разных моделей гаджета, производителя и версии программного обеспечения. Действия, как в Андроид Студио подключить устройство, сводятся к обобщенным этапам:
- Перейти в настройках телефона или планшета Android в раздел «Об устройстве»;
- Нажать на дисплее семь раз по номеру билда;
- В части «Опции разработчика» активируется функция «Отладка по USB».
Android требует, чтобы приложение Android Studio получило разрешение прописать USB. Утилита располагает опциями:
- формировать отчеты, в которых указываются произошедшие ошибки;
- управлять разрешениями на доступ к устройству;
- тестировать процессы игры и приложения;
- определять подключенные к ПК устройства, которые готовы к работе с ADB.
2. Android Studio и Android SDK
Устанавливаем в папку:
В процессе первого запуска Android Studio нужно будет выполнить настройку программы:
- Instal Type выбираете Custom, нажимаете Next
- Выбираете тему которая вам по душе, нажимаете Next
- Android SDK Location указываете C:\Appium automation\Android SDK, нажимаете Next
- Emulator Settings можете оставлять на Recommended, нажимаете Next
- Нажимаете Finish и ждете окончание процесса установки
- Нажимаете Start a new Android Studio project
- Указываете Имя, Путь к вашему проекту, либо можете ничего не менять и оставить предложенное, нажимаете Next
- В выпадающем списке Phone and Tablet выбираете “API 23: Android 6.0 (Marshmallow), нажимаете Next
- Выбираете Empty Activity,, нажимаете Next
- Нажимаете Next
- Нажимаете Finish
В Android Studio выбираем Tools — SDK Manager.
В появившемся окне будет выбран раздел Android SDK.
На вкладке SDK Platforms выбираете версию Android на которой будете проводить тестирование.
А, на SDK Tools выбираете пункты:
- Android SDK Build-Tools
- Android Emulator
- Android SDK Platform-Tools
- Android SDK Tools
- Documentation for Android SDK
- Support Repository
Задача
Автоматизировать тестирование гибридного мобильного приложения.
О приложении, которое нужно тестировать:
Платформа | Android |
Фреймворк | Angular, Cordova, Ionic |
Браузер | Crosswalk |
Пожалуй это ключевые пункты, которые влияли на настройку ПК для запуска тестов.
1. Java SDK
Переходим по ссылке и нажимаем Download:
Далее попадаем на страницу загрузки для разных ОС, т.к. у меня Windows 10 x64, выбираем:
После загрузки файла открываем его и распаковываем .exe-шник (выбираем путь при установке) в папку:
(номер версии на момент загрузки может отличатся)
5. IntelliJ IDEA Community Edition
На странице загрузки есть сравнение Community и Ultimate версий.
В случае если у Вас есть желание купить Ultimate версию, можете смело это делать! Но, еще раз повторюсь, Community версии будет достаточно.
Запускаем загруженный .exe файл и устанавливаем (просто нажимаете Next пока программа не начнет устанавливаться)
Первый запуск IntelliJ IDEA
- Выбираем “Do not import settings”
- Принимаем лицензионное соглашение
- Выбираем тему
- Нажимаем Next
- Нажимаем Start using IntelliJ IDEA
- Выбираем Create New Project
- Указываем путь к Java SDK
- Нажимаем New…
- Указываем путь к ранее загруженному Java SDK C:\Program Files\Java\jdk-12.0.1
Выбираем File — Project Structure…
В появившемся окне выбираем Modules — Dependencies — “+” — JARs or directories…
И добавляем в проект все ранее загруженные библиотеки.
Теперь проект готов для запуска тестов.
Читайте также: