С помощью команд adb
можно выполнять простые действия, такие как клик, свайп, долгое нажатие и т.д. Можно использовать пропорциональное позиционирование элементов или позиционировать элементы через другие элементы (требуется версия Android выше 4.0). Этот инструмент предназначен для использования в тестировании приложений на Android (Android Test
) и имеет большую часть функций, доступных в monkeyrunner
.
Добавлена возможность получения разрешения экрана для версий Android 4.3 и выше с использованием команды wm size
.
Добавлен метод pinchZoom
для изменения масштаба экрана в Java версии.
В Python версии модуль adbUtils
был переработан, объединены классы AppInfo
, Action
в класс ADB
.
Методы инициализации:
adb = ADB()
илиadb = ADB("device_id")
device_id
. Это позволяет решить проблему выполнения скриптов при подключении нескольких устройств к USB.Element
добавлен метод позиционирования элементов по свойству content-desc
.Robotium
для работы с несколькими процессами, потребуется изменение части кода. Подробнее см. Adb-For-Robotium.В Android тестировании наиболее известным инструментом являются команды adb
. Многие функции могут быть реализованы с помощью этих команд, что позволяет использовать любой язык программирования для создания скриптов, выполняющих эти команды.
Интеграция некоторых часто используемых функций, реализованных с помощью команд adb
, делает использование более удобным.
Как практика обучения Java и Python.### Преимущества
Реализовано на двух языках программирования (Java и Python), требует минимальной конфигурации и не требует root-прав.
Большинство функций реализованы с помощью команд adb
, что позволяет легко выделить части кода для создания повседневных скриптов (см. проект AndroidTestScripts).
Поскольку события отправляются с помощью команд adb
, они могут быть использованы для тестирования между различными приложениями, что может расширять другие фреймворки тестирования Android.
Возможность использования пропорционального позиционирования экрана для выполнения действий.
Используются команды uiautomator
, начиная с Android 4.0, позволяющие позиционировать элементы интерфейса, получать координаты отдельных элементов и использовать их для снятия частичных снимков экрана.
Возможность сравнения полного снимка экрана, частичных областей, а также получения информации о текущих элементах интерфейса и активностях для анализа результатов тестирования.
При обучении Java и Python код написан довольно плохо.
В многих местах отсутствует обработка исключений.
Единичные юнит-тесты пока не написаны, поэтому при использовании требуется чтение конкретного исходного кода.
Для вопросов и замечаний обращаться: E-mail: xuxu_1988@126.com QQ:274925460### Необходимая среда
Переменные окружения: необходимо установить ANDROID_HOME
Python: Python 2.7, если используется функция сравнения скриншотов, то потребуется библиотека PIL, в случае невозможности установки PIL можно использовать Pillow
Java: JDK 1.6 и выше, нет необходимости в других третьих сторонних JAR файлах, если JAR файл недоступен, возможно проблема с версией JDK, рекомендуется самостоятельно скомпилировать
setup.py install
для установки, не требуется обязательной проверки наличия PIL, но если используется ImageUtils, то необходима установкаAdb-For-Test.jar
В директории TestDemo находятся примеры на Python и Java, используемые APK — это ApiDemos.apk
Здесь представлен пример использования Python для получения скриншота значков приложений:
#coding=utf-8
import os
from adbUtils.utils.adbUtils import ADB
from adbUtils.utils.imageUtils import ImageUtils
from adbUtils.utils.element import Element
# Для одного устройства device_id передавать не обязательно
adb = ADB("device_id")
element = Element("device_id")
# Получаем область изображения
icon = element.getElementBoundsByClass("android.widget.TextView")[0]
image = ImageUtils()
# Скриншотируем экран
image.screenShot().subImage(icon).writeToFile(os.getcwd(), "image")
# Загрузка целевого изображения для сравнения
# load = image.loadImage(os.getcwd() + "\\image.png")
# print image.screenShot().subImage(icon).sameAs(load)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )