Это автоматизированная тестовая платформа AppUi, созданная основателем webdriver сообщества — Топтуном (псевдоним автора). Эта платформа автоматизации тестирования мобильных приложений написана на Java и основана на открытых библиотеках Selenium WebDriver и Appium. Она объединяет в себе такие технологии как TestNG, Selenium, WebDriver, Appium, JXL и jodd-http.
Платформа реализует модель страниц объектов (Page Object Model - POM) и ключевые слова для управления тестами. Это позволяет пользователям писать скрипты без глубоких знаний программирования, а также обеспечивает разделение данных и кода:
Таким образом, изменения местоположения элементов на странице не требуют модификации скриптов; достаточно лишь обновить информацию о расположении элементов.
Платформа также предоставляет возможность автоматического создания скриншотов при провале проверочных точек или тестовых случаев, а также генерирует HTML отчеты после выполнения тестов и отправляет эти отчеты по электронной почте.
На данный момент платформа ещё находится в процессе развития и требует написания некоторых скриптов для полной автоматизации. Изучение этой платформы потребует базового понимания Android и Java.### Основные возможности
Перейти к просмотру API документации### Настройка окружения
Демонстрационное видео доступно по адресу: http://v.youku.com/v_show/id_XMTcxMTY1MzE0NA==.html?beta&
Создайте файл loginData.xls
в директории src/main/resources/data
.
/**
* Created by zhengshuheng on 2016/9/2 0002.
*/
public class LoginTest extends TestBaseCase {
ElementAction action = new ElementAction();
@BeforeClass
public void beforeclass() throws IOException {
StartPage startPage = new StartPage();
action.click(startPage.кнопка_входа());
LoginPage loginPage = new LoginPage();
action.sleep(2);
action.click(loginPage.использование_других_способов_входа());
action.sleep(2);
}
@Test(description = "Тест входа")
public void login() throws IOException {
## 5. Конфигурация файла Testng.xml
Файл Testng.xml следует настроить на основной пакет приложения, имя главного класса, версию SDK, имя устройства и т.д.
Имя устройства: Получается через команду `adb devices` в командной строке.

```Основной пакет приложения и имя главного класса можно получить с помощью графического интерфейса Appium Server.
Файлы установки приложения APK должны располагаться в директории `apps` корневого каталога проекта. В файле `Testng.xml` указывается имя запускаемого APK-файла.
```xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<parameter name="driverName" value="AndroidDriver"/> <!-- Драйвер: Android, iOS -->
<parameter name="nodeURL" value="127.0.0.1:4723"/> <!-- Адрес сервера Appium -->
<parameter name="appName" value="weixin_861.apk"/> <!-- Имя APK-файла -->
</suite>
### Шестое. Выполнение тестовых случаев
IDE: В контекстном меню в среде интегрированного развития (IDE) нажмите правой кнопкой мыши на `testng`.
XML используется с TestNG для выполнения тестов.
Maven: выполните команды `mvn clean; mvn test`
Jenkins: 1) checkout проекта 2) укажите `pom.xml` файл 3) выполните команды `mvn clean; mvn test`
### Седьмое. Просмотр отчета тестирования и лог-файлов
При завершении выполнения тестовых случаев автоматически отправляется электронное письмо с отчетом и генерируется файл отчета тестирования; при провале тестового случая автоматически производится скриншот и его показ в отчете, также можно отображать информацию о стеке ошибок в отчете.
Файл отчета тестирования создается в директории `test-out` корневого каталога проекта `report.html`
Отчет отображается следующим образом: <a href="http://www.webdriver.org/doc/patatiumappui/report/report.html" target="_blank">Перейти к просмотру онлайн отчета</a>

Лог-файлы тестирования отображаются следующим образом:

```net/uploads/images/2016/0903/212830_2ff8aa61_482055.png)
Электронное письмо тестирования отображается следующим образом:
### Лицензия
GPL V2.0
### Обновление
20161222 Добавлена поддержка YAML для управления объектами библиотеки.
Поддержка записи объектов библиотеки в YAML, формат представлен ниже:```yaml
pages:
- page:
pageName: org.webdriver.patatiumappui.pageObject.StartPage
value: "www.baidu.com"
desc: "Страница запуска WeChat APP"
locators:
- {type: "id", timeout: "3", value: "com.tencent.mm:id/c72", desc: "Войти", name: "Войти"}
- {type: "id", timeout: "3", value: "com.tencent.mm:id/c71", desc: "Зарегистрироваться", name: "Зарегистрироваться"}
- page:
pageName: org.webdriver.patatiumappui.pageObject.LoginPage
value: ""
desc: "Страница входа в WeChat App"
locators:
- {type: "id", timeout: "3", value: "com.tencent.mm:id/b9i", desc: "Использование других способов входа", name: "Использование других способов входа"}
- {type: "xpath", timeout: "3", value: "//android.widget.EditText[@text='QQ号/微信号/Email']", desc: "Аккаунт", name: "Поле ввода аккаунта"}
- {type: "xpath", timeout: "3", value: "//android.widget.EditText[@NAF='1']", desc: "Пароль", name: "Поле ввода пароля"}
- {type: "id", timeout: "3", value: "com.tencent.mm:id/b8z", desc: "Войти", name: "Кнопка Войти"}
- {type: "id", timeout: "3", value: "com.tencent.mm:id/bl3", desc: "Уведомление о неудачной попытке входа", name: "Уведомление о неудачной попытке входа"}
- {type: "id", timeout: "3", value: "com.tencent.mm:id/ar", desc: "Сообщение о неудачной попытке входа в систему", name: "Кнопка подтверждения неудачного входа"}
```
### Если вы считаете, что этот продукт полезен для вас, вы можете сделать пожертвование, чтобы мотивировать меня продолжать работу.

### Вы можете добавить меня в личный QQ: 609958331, также можно присоединиться к общему QQ-чату webdriver на китайском: 471137382, добро пожаловать с предложениями и ошибками. Или отправьте мне электронное письмо: 609958331@qq.com В настоящее время через WeChat невозможно узнать имя пользователя, сделавшего пожертвование, поэтому добро пожаловать, добавьте мой личный WeChat: zhengshuheng002
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )