1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/songjianghu-AppiumAir

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

AppiumAir

Описание проекта

AppiumAir — это автоматизированный фреймворк для Android, основанный на Appium и переписанный для упрощения использования. Он поддерживает многопоточное выполнение тестов на нескольких устройствах одновременно, автоматически получает информацию о подключенных устройствах, автоматически запускает несколько служб Appium для каждого подключенного устройства, тестовые случаи могут быть разделены по модулям и выполнены последовательно, несколько тестовых случаев могут быть выполнены последовательно без перезапуска приложения, при неудачном выполнении тестового случая автоматически производится снимок экрана, запись видео и сбор информации об ошибках, которые затем выделяются в списке. Новый шаблон отчета, полный и стильный, позволяет запускать тесты сразу после подключения устройств.

4. Результат: 4.1. Текст должен быть точным переводом без добавления собственных комментариев или интерпретаций. 4.2. Текст должен сохранить исходное форматирование и разметку (Markdown, HTML, reStructuredText (reST), заголовки, ссылки, блоки кода или элементы форматирования). 4.3. Перевод должен быть написан ясным и профессиональным языком, соответствующим стандартам IT-документации. 4.4. Перевод должен быть на заданном основном языке для перевода.# AppiumAir

Описание проекта

AppiumAir — это автоматизированный фреймворк для Android, основанный на Appium и переписанный для упрощения использования. Он поддерживает многопоточное выполнение тестов на нескольких устройствах одновременно, автоматически получает информацию о подключенных устройствах, автоматически запускает несколько служб Appium для каждого подключенного устройства, тестовые случаи могут быть разделены по модулям и выполнены последовательно, несколько тестовых случаев могут быть выполнены последовательно без перезапуска приложения, при неудачном выполнении тестового случая автоматически производится снимок экрана, запись видео и сбор информации об ошибках, которые затем выделяются в списке. Новый шаблон отчета, полный и стильный, позволяет запускать тесты сразу после подключения устройств.

Страницы Gitee

  • Пример отчета тестирования: https://songjianghu.gitee.io/appiumair
  • Страница описания проекта: https://songjianghu.github.io/AppiumAir## Группа QQ для общения
  • Группа QQ: 774757006
  • Нравится? Оставьте звезды, это лучшая поддержка для автора
  • Возникли проблемы? Необходимы специальные функции? Есть предложения? Присоединяйтесь к группе для обсуждения

Основные функции

  • Многопоточное выполнение тестов на нескольких устройствах одновременно, что значительно повышает эффективность тестирования
  • Автоматическое получение информации о подключенных устройствах, автоматическое запускание нескольких служб Appium для каждого подключенного устройства
  • Последовательное выполнение нескольких тестовых случаев без перезапуска приложения, что уменьшает интервал выполнения тестовых случаев
  • Тестовые случаи не требуют настройки, автоматическое сканирование и выполнение, что позволяет тестировщикам сосредоточиться на бизнес-логике
  • При неудачном выполнении тестового случая автоматически производится снимок экрана, запись видео и сбор информации об ошибках, которые затем выделяются в списке
  • Использование модифицированного плагина ExtentReport для отчетов, полный и стильный## Применение фреймворка
  • Тестирование совместимости: каждый тестовый случай может охватить сотни популярных моделей устройств
  • Регрессионное тестирование: автоматическая проверка ключевых бизнес-процессов перед выпуском
  • Тестирование нагрузки: моделирование нагрузки на множество реальных устройств в различных сценариях
  • Мониторинг в реальном времени: онлайн-мониторинг состояния доступности бизнес-процессов, автоматическое оповещение при возникновении проблем
  • Другие сценарии: моделирование параллельной покупки товаров, моделирование атаки DDoS на реальных устройствах и т.д.

Конфигурация окружения

  • Установите JDK 8 или более позднюю версию и настройте переменную окружения JAVA_HOME
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_141
PATH=%JAVA_HOME%\bin
  • Установите SDK и настройте переменные окружения
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`
aliyunmaven * Общая библиотека Aliyun Maven https://maven.aliyun.com/repository/public ```
  • Установите Node.js, на Windows не устанавливайте на C: (системный диск), следуйте инструкциям
  • Ссылка для загрузки: https://nodejs.org/en/
  • Настройте глобальный каталог модулей Node.js, создайте два каталога node_global и node_cache в каталоге установки Node.js, затем выполните следующие команды в командной строке (администратор):
npm config set prefix "D:\app\nodejs\node_global"
npm config set cache "D:\app\nodejs\node_cache"
  • Настройте переменные окружения Node.js
PATH=D:\app\nodejs
NODE_PATH=D:\app\nodejs\node_modules
PATH=D:\app\nodejs\node_global
PATH=D:\app\nodejs\node_modules\npm
  • Установите Appium server
  • Перед установкой проверьте доступность по умолчанию: https://registry.npmjs.org/appium
  • При хорошем интернете используйте npm для установки:
npm install -g appium
  • При среднем интернете используйте cnpm для установки Appium server, сначала установите cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g appium
  • Если при первом запуске телефон не запускается, возможно, это связано с отсутствием установки apk 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://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2021-03/R/eclipse-java-2021-03-R-win32-x86_64.zip


## Инструкция по использованию
- Кодовый репозиторий:

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

Установка Docker Engine

sudo yum install docker-ce docker-ce-cli containerd.io

Для установки конкретной версии Docker Engine перечислите доступные версии в репозитории, затем выберите и установите:

yum list docker-ce --showduplicates | sort -r

Запуск Docker

sudo systemctl start docker

Проверка установки Docker

sudo docker run hello-world

Получение Docker-образов

# Поиск 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
  • Через браузер вы должны увидеть четыре объекта браузера
  • http://localhost:5555/grid/console## Установка VNC Viewer
  • Ссылка для загрузки: https://www.realvnc.com/en/connect/download/viewer/linux/
  • Версия для Linux (RPM x64)
  • После загрузки установите VNC Viewer
  • File --> New Connect: VNC Server введите: localhost:5911
  • File --> New Connect: VNC Server введите: localhost:5912
  • File --> New Connect: VNC Server введите: localhost:5921
  • File --> New Connect: VNC Server введите: localhost:5922
  • В VNC Viewer дважды щелкните по созданным двум хостам
  • Введите пароль: secret

Справочник по версиям браузеров

Компании, использующие проект

Лицензия

Проект AppiumAir написан с использованием открытой лицензии Apache-2.0.

Поддержка открытого исходного кода

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

AppiumAir — это основанный на Appium вторично упакованный фреймворк для автоматизации тестирования Android, который позволяет выполнять тесты одновременно на нескольких устройствах в многопоточном режиме. Фреймворк автоматически получает информацию о подключённых устройствах и запускает несколько сервисов Appium для подключённых устройств. Тест... Развернуть Свернуть
Apache-2.0
Отмена

Обновления (3)

все

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/songjianghu-AppiumAir.git
git@api.gitlife.ru:oschina-mirror/songjianghu-AppiumAir.git
oschina-mirror
songjianghu-AppiumAir
songjianghu-AppiumAir
master