AppiumAir — это автоматизированный фреймворк для Android, основанный на Appium и переписанный для упрощения использования. Он поддерживает многопоточное выполнение тестов на нескольких устройствах одновременно, автоматически получает информацию о подключенных устройствах, автоматически запускает несколько служб Appium для каждого подключенного устройства, тестовые случаи могут быть разделены по модулям и выполнены последовательно, несколько тестовых случаев могут быть выполнены последовательно без перезапуска приложения, при неудачном выполнении тестового случая автоматически производится снимок экрана, запись видео и сбор информации об ошибках, которые затем выделяются в списке. Новый шаблон отчета, полный и стильный, позволяет запускать тесты сразу после подключения устройств.
4. Результат:
4.1. Текст должен быть точным переводом без добавления собственных комментариев или интерпретаций.
4.2. Текст должен сохранить исходное форматирование и разметку (Markdown, HTML, reStructuredText (reST), заголовки, ссылки, блоки кода или элементы форматирования).
4.3. Перевод должен быть написан ясным и профессиональным языком, соответствующим стандартам IT-документации.
4.4. Перевод должен быть на заданном основном языке для перевода.# AppiumAir
AppiumAir — это автоматизированный фреймворк для Android, основанный на Appium и переписанный для упрощения использования. Он поддерживает многопоточное выполнение тестов на нескольких устройствах одновременно, автоматически получает информацию о подключенных устройствах, автоматически запускает несколько служб Appium для каждого подключенного устройства, тестовые случаи могут быть разделены по модулям и выполнены последовательно, несколько тестовых случаев могут быть выполнены последовательно без перезапуска приложения, при неудачном выполнении тестового случая автоматически производится снимок экрана, запись видео и сбор информации об ошибках, которые затем выделяются в списке. Новый шаблон отчета, полный и стильный, позволяет запускать тесты сразу после подключения устройств.
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_141
PATH=%JAVA_HOME%\bin
ANDROID_HOME=D:\software\android-sdk-windows (каталог установки SDK)
PATH=%ANDROID_HOME%\platform-tools
PATH=%ANDROID_HOME%\tools
PATH=%ANDROID_HOME%\build-tools\30.0.2
```- Установите Maven 3
MAVEN_HOME=D:\develop\apache-maven-3.6.3 (каталог установки Maven) PATH=%MAVEN_HOME%\bin
- Настройте файл `setting.xml`
node_global
и node_cache
в каталоге установки Node.js, затем выполните следующие команды в командной строке (администратор):npm config set prefix "D:\app\nodejs\node_global"
npm config set cache "D:\app\nodejs\node_cache"
PATH=D:\app\nodejs
NODE_PATH=D:\app\nodejs\node_modules
PATH=D:\app\nodejs\node_global
PATH=D:\app\nodejs\node_modules\npm
npm install -g appium
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g appium
appium-uiautomator2-server-v-0.1.x
на телефоне, пожалуйста, скачайте apk и установите его на телефонhttps://github.com/appium/appium-uiautomator2-server/releases/tag/
```- Включите режим разработчика на телефоне, включите USB-отладку, включите USB-установку, включите USB-отладку (безопасные настройки).
- Скачайте apk установочный пакет, ссылка для загрузки:
https://market.m.taobao.com/app/fdilab/download-page/main/index.html
- Получите appPackage и appActivity, используйте команду aapt для получения из apk установочного пакета, найдите package:name и launchable-activity: name.
aapt dump badging D:/app/com.taobao.taobao.apk
- Проверьте подключение телефона
adb devices
- Разработочные инструменты: можно использовать IntelliJ IDEA или Eclipse
- Ссылка для загрузки IntelliJ IDEA:
https://www.jetbrains.com/idea/
- Ссылка для загрузки Eclipse:
## Инструкция по использованию
- Кодовый репозиторий:
https://gitee.com/songjianghu/AppiumAir.git
- Клонирование кода:
git clone https://gitee.com/songjianghu/AppiumAir.git
- Входная точка для запуска кода: AppiumTest
- Файл конфигурации приложения: resources/config/config.properties
- Другие инструктивные документы: находятся в директории resources/doc
- Расположение отчета тестирования: Spark/index.html## Правила написания тестовых случаев:
- Тестовые случаи следует размещать в пакете `com.appiumair.testcase`, используя подпакеты. Создание тестовых случаев напрямую в пакете `testcase` не поддерживается, так как это может привести к проблемам с обнаружением и выполнением тестов. Обратите внимание на это.
- Как разделить тестовые случаи на модули? Создайте подпакеты в пакете `testcase`, рекомендуется делить их по бизнес-функциям или служебным модулям. Именуйте подпакеты в формате `p01_product`, `p02_order` и т.д., чтобы они выполнялись в порядке их названия. Если не использовать номера, то модули будут выполняться в случайном порядке.
- Как назвать тестовые случаи? Рекомендуется использовать формат `TC01_TBIndexSearch`, `TC02_TBIndexBrowser` и т.д. для именования тестовых случаев, чтобы они выполнялись в порядке их названия. Если не использовать номера, то тестовые случаи будут выполняться в случайном порядке.
- Как написать стандартный тестовый случай? Необходимо расширить класс `ExtentReport`, реализовать интерфейс `TestCase` и переопределить метод `run`.- В настоящее время автоматическое определение размера пула потоков на основе конфигурации машины не поддерживается, чтобы избежать проблем с замедлением или зависанием машины из-за слишком большого числа параллельных операций. Оптимизация в процессе, добавьте необходимые настройки, такие как увеличение памяти, увеличение числа ядер процессора, обновление жесткого диска и т. д.
## Примеры конфигурации окружения
- Если конфигурация окружения вызывает трудности, можно обратиться к следующему блогу:
https://my.oschina.net/outcat/blog/491529
## Автоматизация Web с Selenium: руководство по распределённому развертыванию UI в Docker
## Подготовка окружения
- 1. Подготовьте машину с CentOS 7 (с графическим интерфейсом, который понадобится позже), минимальные требования: 1 ядро, 1 ГБ ОЗУ, свободное место на диске 20 ГБ и более, рекомендуемые требования: 4 ядра, 8 ГБ ОЗУ, свободное место на диске 40 ГБ и более
- 2. Установите Docker на Linux, для установки Docker обратитесь к официальной документации:
https://docs.docker.com/engine/install/centos/
- 3. Основные шаги:
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
```bash
sudo yum install -y yum-utils
```# Настройка репозитория
```bash
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo docker run hello-world
# Поиск Docker-образа selenium на docker hub
docker search selenium
# Загрузка пяти образов: одного образа hub, двух образов Chrome и двух образов Firefox
# docker pull selenium/hub
# docker pull selenium/node-firefox-debug
# docker pull selenium/node-chrome-debug
docker pull baozhida/selenium-hub:3.3.1
docker pull baozhida/selenium-node-chrome-debug:48
docker pull baozhida/selenium-node-chrome-debug:58
docker pull baozhida/selenium-node-firefox-debug:47
docker pull baozhida/selenium-node-firefox-debug:52
# Запуск Docker hub
docker run -p 5555:4444 -d --name hub baozhida/selenium-hub:3.3.1
# Запуск четырех контейнеров браузеров
docker run -d -p 5911:5900 --link hub:hub --name chrome58 baozhida/selenium-node-chrome-debug:58
docker run -d -p 5912:5900 --link hub:hub --name chrome48 baozhida/selenium-node-chrome-debug:48
docker run -d -p 5921:5900 --link hub:hub --name firefox47 baozhida/selenium-node-firefox-debug:47
docker run -d -p 5922:5900 --link hub:hub --name firefox52 baozhida/selenium-node-firefox-debug:52
# Проверка запущенных контейнеров
docker ps
Проект AppiumAir написан с использованием открытой лицензии Apache-2.0.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )