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

OSCHINA-MIRROR/zhengshuheng-PatatiumAppUi

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

PatatiumAppUi

Введение

Это автоматизированная тестовая платформа AppUi, созданная основателем webdriver сообщества — Топтуном (псевдоним автора). Эта платформа автоматизации тестирования мобильных приложений написана на Java и основана на открытых библиотеках Selenium WebDriver и Appium. Она объединяет в себе такие технологии как TestNG, Selenium, WebDriver, Appium, JXL и jodd-http.

Платформа реализует модель страниц объектов (Page Object Model - POM) и ключевые слова для управления тестами. Это позволяет пользователям писать скрипты без глубоких знаний программирования, а также обеспечивает разделение данных и кода:

  1. Информация о расположении элементов хранится в файлах объектной базы данных.
  2. Данные тестовых сценариев могут быть сохранены в Excel.

Таким образом, изменения местоположения элементов на странице не требуют модификации скриптов; достаточно лишь обновить информацию о расположении элементов.

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

На данный момент платформа ещё находится в процессе развития и требует написания некоторых скриптов для полной автоматизации. Изучение этой платформы потребует базового понимания Android и Java.### Основные возможности

  1. Реализация технологии ключевых слов для упрощенного написания тестовых сценариев.
  2. Реализация технологии данных для уменьшения количества кода тестовых сценариев.
  3. Поддержка управления объектной базой данных, что позволяет отделить данные элементов от кода. Поддерживается управление XML и YAML.
  4. Поддержка установки проверочных точек и утверждений тестовых случаев.
  5. Автоматическое создание скриншотов при провале проверочной точки, не влияющее на последующие шаги тестового случая.
  6. Автоматическое создание скриншотов при провале тестового случая.
  7. Минимальная зависимость между тестовыми случаями, позволяющая свободно комбинировать тестовые случаи.
  8. Поддержка распространённых операций взаимодействия с контролами мобильных приложений.
  9. Генерация красивого HTML отчёта после завершения набора тестовых случаев.
  10. Отправка подробного HTML отчёта по электронной почте после выполнения тестовых случаев, можно расширить до отправки только при провале тестовых случаев.

API Документация

Перейти к просмотру API документации### Настройка окружения

  1. JDK 1. 8
  2. IDE IntelliJ IDEA/Eclipse
  3. Android SDK. Подробнее см.: http://www.webdriver.org/article-52-1.html
  4. Maven
  5. Один Android телефон или Android эмулятор, рекомендован Night Shift Android Emulator, скачать здесь: http://www.yeshen.com/
  6. Сервер Appium, скачать здесь: http://pan.baidu.com/s/1jIxzSfO### Внимание Проектная кодировка должна быть установлена в UTF-8, чтобы избежать проблем с отображением китайских символов.

Демонстрация

Демонстрационное видео доступно по адресу: http://v.youku.com/v_show/id_XMTcxMTY1MzE0NA==.html?beta&

Первый шаг: создание объектной библиотеки

  1. Получение информации о расположении элементов приложения с помощью Android SDK инструмента uiautomatorviewer.bat, подробнее см.: http://www.webdriver.org/article-53-1.html
  2. Создание файла объектной библиотеки UILibrary.xml```
``````markdown Войти Зарегистрироваться Использование других способов входа Поле ввода аккаунта Поле ввода пароля Кнопка входа Сообщение об ошибке входа Кнопка подтверждения ошибки входа ```### Второй раздел: Примеры общих действий (бизнес-операции) ```java /** * Created by zhengshuheng on 2016/9/2 0002. */ public class LoginAction extends TestBaseCase { public LoginAction(String username, String password) throws IOException { ElementAction action = new ElementAction(); LoginPage loginPage = new LoginPage(); action.click(loginPage.поле_ввода_аккаунта()); action.clear(loginPage.поле_ввода_аккаунта()); action.type(loginPage.поле_ввода_аккаунта(), username); action.click(loginPage.поле_ввода_пароля()); action.clear(loginPage.поле_ввода_пароля()); action.type(loginPage.поле_ввода_пароля(), password); action.sleep(1); action.click(loginPage.кнопка_входа()); } } ```

Третий раздел: Пример источника данных для приведения

Создайте файл 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` в командной строке.
![](http://git.oschina.net/uploads/images/2016/0903/210836_afcc8ce0_482055.png)
```Основной пакет приложения и имя главного класса можно получить с помощью графического интерфейса Appium Server.
![image](http://git.oschina.net/uploads/images/2016/0903/211315_02b35374_482055.png)Файлы установки приложения 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>
![Скриншот](http://git.oschina.net/uploads/images/2016/0903/212710_e5185410_482055.png)
Лог-файлы тестирования отображаются следующим образом:
![Лог-файлы](http://git.oschina.net/)
```net/uploads/images/2016/0903/212830_2ff8aa61_482055.png)
Электронное письмо тестирования отображается следующим образом:
![](http://git.oschina.net/uploads/images/2016/0903/213029_66ca45e5_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: "Кнопка подтверждения неудачного входа"}
```
### Если вы считаете, что этот продукт полезен для вас, вы можете сделать пожертвование, чтобы мотивировать меня продолжать работу.
![Введите описание изображения здесь](http://git.oschina.net/uploads/images/2bk.png?w=1280&h=720)
### Вы можете добавить меня в личный QQ: 609958331, также можно присоединиться к общему QQ-чату webdriver на китайском: 471137382, добро пожаловать с предложениями и ошибками. Или отправьте мне электронное письмо: 609958331@qq.com В настоящее время через WeChat невозможно узнать имя пользователя, сделавшего пожертвование, поэтому добро пожаловать, добавьте мой личный WeChat: zhengshuheng002

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

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

Введение

**Основы автоматического тестирования приложений на базе Selenium, WebDriver, Appium.** *Примечание: в запросе недостаточно информации для полноценного перевода. В ответе переведено только то, что удалось понять из контекста.* Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

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

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