Путь к автоматизированному тестированию — руководство по использованию Appium
Путь к автоматизированному тестированию — руководство по использованию Appium

Чтение оглавления

1. Цель

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

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

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

2.Описание

  1. В этом примечании используется операционная система Win 10. Версия программного обеспечения, указанная в примечании, может привести к несоответствию или другим дополнительным операциям с течением времени. Пожалуйста, прочитайте и обратитесь к нему соответствующим образом.   2. Из-за особенностей операционной системы приведенные здесь руководства предназначены только для ОС Android и Hongmeng. Учебные пособия по установке и настройке Appium, а также руководства по ежедневному использованию, связанные с iOS, будут опубликованы позже.   3. В этой статье для объяснения используется язык Python и Appium. Учебные пособия, относящиеся к другим языкам, здесь не повторяются.

3. Возьмите трубку в последний раз

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

4. Подключите устройство

4.1 Настройки

Сначала включите режим разработчика на телефоне,Разные мобильные телефоны имеют разные способы открытия.,Представленная здесь тестовая машинаHuawei мат20X,Вы можете напрямую поискать в Baidu, как открыть другие модели.

Войдите в опцию [Настройки] вашего телефона.

Войдите【О мобильном телефоне】

Нажмите [Номер версии] 7 раз, чтобы войти в режим разработчика.

Вернитесь в главное меню [Настройки] и выберите [Система и обновления].

Выберите [Параметры разработчика]

Включите [Отладка по USB]. Если вы не хотите выбирать передачу фотографий или файлов каждый раз при отладке, вы можете включить [Разрешить отладку ADB в режиме «Только зарядка»]

4.2 Отладка

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

Используйте кабель для передачи данных для подключения телефона. Если появится окно подтверждения отладки по USB и компьютер является устройством, которому вы доверяете, выберите «Всегда разрешать использование этого компьютера для отладки» и подтвердите. В противном случае просто нажмите «ОК».

Оставаясь на связи и USB был авторизован,Вызов cmd,входитьadb devices

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

Идентификатор устройства можно найти в [Сообщение о состоянии] в [Настройки] телефона.

Если отображается сообщение «Устройство не найдено», сначала проверьте, правильно ли установлен драйвер мобильного телефона. Вы также можете зайти в диспетчер оборудования, чтобы проверить, не является ли соответствующий драйвер устройства ненормальным. Для установки соответствующего драйвера устройства рекомендуется использовать программу установки драйвера adb. Их много в Интернете, и вы можете загрузить их с Baidu.

Кроме того, если имеется несколько подключений устройств, как показано на рисунке, порт одного из них — 5555. Если да, то вы можете указать соответствующее устройство для некоторых последующих операций. идентификатор для выполнения операции,напримерadb -s XXXXXX(device id) shellдействовать。

4.3 Получение параметров

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

appPackage: имя пакета, которое является уникальным идентификатором приложения в системе Android. appActivity: Здесь вы можете понять имя запуска или стартовую страницу. PlatformName: название платформы устройства (Android или iOS). имя_устройства: имя устройства, введите здесь идентификатор устройства только в ADB.

Ниже приведены несколько способов получения appPackage и appActivity.

1. Посмотреть исходный код

Здесь рекомендуется использовать этот метод. Если объектом тестирования является приложение собственной разработки, просто спросите у соответствующего разработчика значения этих двух параметров, что сэкономит время и усилия.

2. Используйте АБР

Когда мобильный телефон подключен,Сначала откройте приложение, которым хотите управлять.,позже вcmdсерединавходитьadb shell "dumpsys window | grep mCurrentFocus"Вы можете просмотреть соответствующиеAPPизappPackageПонятно。Если у вас несколько устройств,тогда вам нужно использоватьadb -s XXXX shellсформулировать записьизоборудование,Сновавходитьdumpsys window | grep mCurrentFocusПросто проверьте это。

Красное поле — это appPackage. Но здесь нужно обратить внимание, поскольку после входа в приложение вы можете выполнять другие операции, поэтому страница, на которой находится текущее приложение, не обязательно является стартовой страницей, поэтому значение appActivity не обязательно правильное.

Здесь мы используем команду обезьяны для получения активности приложения.,Использовать командуadb shell monkey -p com.xxxxxxx(appPackage) -vvv 1чтобы получить。

Просто найдите соответствующее имя appActivity.

Кроме того, logcat можно использовать для быстрого запроса обоих. Первое начало, которое вы хотите получитьизAPP,Затемlogcatиз Содержимое журнала перенаправляется на компьютериз Укажите каталог。adb logcat>E:/app_log.txtЭто перенаправит файлы журнала на ПонятноEВ корневом каталоге,Имя файла — app_log. После завершения операции используйте Ctrl+c, чтобы завершить команду. Затем просмотрите файл журнала по указанному пути.

Найдите ключевое слово Displayed в файле журнала, чтобы напрямую найти соответствующие значения appPackage и appActivity.

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

5. Запустите приложение.

5.1 Запустить инспектор

Убедитесь, что Appium-Server запущен и подключен к телефону.

Затем запустите Appium Inspector, обычно через Appium. Если ответа нет, вы можете перейти на официальный сайт и установить Inspector отдельно.

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

Фотографии сверху вниз: Автоматический сервер: использует IP-адрес и порт локальной службы, наиболее часто используемый вариант; Пользовательский сервер: вы можете использовать собственные сервисы Appium, которые будут использоваться во время параллелизма; Выбор поставщиков облачных услуг: используйте услуги, предоставляемые поставщиками облачных услуг; Разрешить неавторизованные сертификаты: означает разрешение использования неавторизованных сертификатов; Использовать прокси: использовать прокси; Желаемые возможности: настройка параметров запуска (часто используемые элементы); Сохраненные наборы возможностей: сохраните настроенные параметры в виде шаблона; Прикрепить к сеансу: добавить сеанс.

5.2 Желаемые возможности размещения

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

Заполняем полученные ранее параметры

После заполнения информация о представлении формата JSON появится позже, а затем нажмите [Начать сеанс], чтобы запустить приложение.

Приложение Appiium будет установлено на тестовом телефоне во время запуска. После завершения запуска телефон автоматически откроет запущенное приложение и отобразит экран, синхронизированный с приложением, в Инспекторе.

5.3 Описание интерфейса

Слева направо по порядку:

Режим собственного приложения: переключение в режим собственного приложения; Режим веб-приложения/гибридного приложения: переключение в режим гибридного приложения. Если в приложении есть мини-программа (Uni App) или H5, вы можете попробовать этот режим; Выбор элементов: режим выбора элемента. В окне предварительного просмотра слева режим щелчка мышью станет выбором элемента, а не напрямую имитирует операцию щелчка, аналогично Ctrl+Shift+C в режиме отладки браузера;

Проведение по координатам: используйте скольжение по координатам. Как следует из названия, вы используете мышь, чтобы щелкнуть точки A и B соответственно, а затем действие скольжения в соответствующем направлении будет смоделировано в соответствии с порядком и направлением щелчков;

Tap By Координаты. Используйте щелчки по координатам, которые аналогичны реальным действиям по щелчку. Щелкните там, где вы хотите синхронизировать экран устройства и окно предварительного просмотра; Назад: возврат к предыдущему шагу, аналогично кнопке «Назад» на мобильном телефоне; Refresh Source & Снимок экрана: обновление ресурсов и снимков экрана, обычно в Select. Режим элемента используется чаще. В процессе захвата элемента, если вам нужно просмотреть функциональные взаимодействия или переходы по страницам, вы можете обновить экран, но проведите пальцем по экрану. By Координаты и коснитесь By В режиме координат это не очень полезно; Start Запись: Начать запись. Мы можем выполнять некоторые операции непосредственно на экране предварительного просмотра приложения после включения этой опции. Appium автоматически поможет нам преобразовать действия в соответствующие коды на указанном языке.

Эту функцию не рекомендуется использовать студентам-тестировщикам, особенно тем, у кого уже есть простой код. По умолчанию она будет использовать метод позиционирования xpath. Метод позиционирования xpath очень ненадежен, особенно позиционирование по абсолютному пути. Если он изменится, обслуживание сценария станет очень трудным. Если его необходимо использовать, рекомендуется использовать метод позиционирования по относительному пути.

Поиск элемента: поиск элементов. Мы можем выполнять связанный поиск элементов на основе условий позиционирования различных элементов, чтобы облегчить быстрое позиционирование.

Copy XML Source to Буфер обмена. Копирование элементов страницы. Вы можете скопировать всю информацию об элементах на странице. Quit Session & Close Инспектор: закройте сеанс и закройте инспектор.

Когда мы выбираем элемент, выбранный элемент будет отображать следующие параметры слева направо:

Касание: имитировать щелчок;

Отправить ключи: если это поле ввода, вы можете использовать эту опцию для заполнения соответствующего содержимого;

Очистить: содержимое поля редактирования можно очистить; Копировать атрибуты в буфер обмена: копирование информации, относящейся к выбранному элементу, в буфер обмена; Получить время: Получите время, необходимое для ответа выбранного элемента.

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

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose