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

OSCHINA-MIRROR/openharmony-testfwk_xdevice

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

XDevice

Введение

XDevice — это основной модуль тестовой среды OpenHarmony, который предоставляет услуги, на которых зависят выполнение тестовых случаев.

XDevice состоит из следующих подмодулей:

  • command: позволяет взаимодействовать между пользователями и платформой тестирования с помощью команд. Парсит и обрабатывает команды пользователей.
  • config: устанавливает конфигурации тестовой среды и предоставляет различные варианты конфигураций для соединений через последовательный порт и USB.
  • driver: выполняет тестовые случаи, определяет основные шаги тестирования, такие как распределение тестовых случаев, их выполнение и сбор результатов.
  • report: парсит результаты тестирования и генерирует отчеты о тестах.
  • scheduler: планирует различные исполнители тестовых случаев в тестовой среде.
  • environment: настраивает среду тестирования, обеспечивая обнаружение устройств и управление ими.
  • testkit: предоставляет тестовые инструменты для реализации парсинга JSON, монтирования сетевых файлов и т.д.
  • resource: предоставляет файл конфигурации соединения устройства и определения шаблонов отчетов.## Структура директорий
xdevice
├── config                            # Конфигурация XDevice
│     ├── user_config.xml             # Конфигурация окружения XDevice
├── src                               # Исходный код
│     ├── xdevice
├── plugins                           # Плагины XDevice
│     ├── ohos                        # Плагины OpenHarmony
|          ├── src                    # Исходный код плагинов OpenHarmony
│          └── setup.py               # Скрипт установки плагинов

Ограничения

Требования к окружению для использования этого модуля следующие:

  • Версия Python: 3.7.5 или выше
  • Версия pySerial: 3.3 или выше
  • Версия Paramiko: 2.7.1 или выше
  • Версия RSA: 4.0 или выше

Использование

  • Установка XDevice

    1. Перейдите в директорию установки XDevice.

    2. Откройте консольное окно и выполните следующую команду:

      python setup.py install
  • Установка расширения

    1. Перейдите в директорию установки расширения XDevice.

    2. Откройте консоль и выполните следующую команду:

      python setup.py install
  • Изменение файла user_config.xml

    Настройте информацию о вашем окружении в файле user_config.xml.

    1. Настройка окружения.

    • Для устройств, поддерживающих подключение hdc, обратитесь к следующей заметке для настройки окружения. > ЗАМЕЧАНИЕ:

      ip/port: IP-адрес и порт удалённого устройства. По умолчанию параметр остаётся пустым, что указывает на использование локального устройства (IP-адрес: 127.0.0.1; порт: используемый для старта hdc). sn: SN тестового устройства, указанного для выполнения команд. Если этот параметр установлен на SN1, только устройство SN1 может выполнять последующие команды run. В этом случае другие устройства считаются Ignored и не участвуют в выполнении команд. Вы можете выполнить команду list devices и проверить значение Allocation, чтобы просмотреть значения sn. Вы можете задать несколько SN и разделить их точкой с запятой (;). - Для устройств, поддерживающих подключение через последовательный порт, обратитесь к следующей заметке для настройки окружения. > ЗАМЕЧАНИЕ: type: режим подключения устройства. Режим com указывает на подключение устройства через последовательный порт. label: тип устройства, например, wifiiot serial: последовательный порт

      • serial/com: последовательный порт для локального подключения, например, COM20
      • serial/type: тип последовательного порта. Значение может быть cmd (последовательный порт для выполнения тестовых случаев) или deploy (последовательный порт для обновления системы). Для открытого проекта последовательные порты cmd и deploy совпадают, а их значения com также совпадают. serial/baud_rate, data_bits, stop_bits и timeout: параметры последовательного порта. Вы можете использовать значения по умолчанию.
        2. Установите директорию тестового случая.

    dir: директория тестового случая

    3. Монтируйте NFS.

    ЗАМЕЧАНИЕ: server: конфигурация монтирования NFS. Установите значение на NfsServer. server/ip: IP-адрес среды монтирования server/port: номер порта среды монтирования server/username: имя пользователя для входа в систему на сервере server/password: пароль для входа в систему на сервере server/dir: внешний путь монтирования server/remote: указывает, развернут ли сервер NFS и исполнитель XDevice на разных устройствах. Если да, установите этот параметр на true. В противном случае, установите его на false.- Укажите тип задачи.

  • Запустите тестовый фреймворк.

  • Выполните команды тестирования.

    Команды тестового фреймворка можно разделить на три группы: help, list и run. Из них команды run наиболее часто используются в последовательности инструкций.

    help

    Запрашивает справочную информацию о командах тестового фреймворка.

    help:
         используйте help для получения информации.  
    использование:
         run: отображает список поддерживаемых команд run.
         list: отображает список поддерживаемых устройств и записей задач.  
    Примеры:
         help run
         help list

    ЗАМЕЧАНИЕ: help run: отображает описание команд run. help list: отображает описание команд list.

    list

    Отображает информацию о устройствах и связанных с ними записях задач.

    list:
         Эта команда используется для отображения списка устройств и записей задач.  
    использование:
          list
          list history
          list <id>  
    Введение:
         list:         отображает список устройств
         list history: отображает историческую запись серии задач
         list <id>:    отображает историческую запись о задачах, содержащих конкретный ID  
    Примеры:
         list
         list history
         list 6e****90
    ```    >![](figures/icon-note.gif) **ЗАМЕЧАНИЕ:** 
    >**list**: отображает информацию о устройствах.
    >**list history**: отображает историческую информацию о задачах.
    >**list <id\>**: отображает историческую информацию о задачах с указанными ID.    **запуск**
    
    >![](figures/icon-note.gif) **ЗАМЕЧАНИЕ:** 
    >**list**: отображает информацию о устройствах.
    >**list history**: отображает историческую информацию о задачах.
    >**list <id\>**: отображает историческую информацию о задачах с указанными ID.  
    **запуск**    Выполняет тестовые задачи.```markdown

    run: Этот командный вызов используется для выполнения выбранных тестовых случаев. Он включает ряд процессов, таких как компиляцию сценариев использования, выполнение и сбор результатов. использование: run [-l TESTLIST [TESTLIST . . . ] | -tf TESTFILE [TESTFILE . . . ]] [-tc TESTCASE] [-c CONFIG] [-sn DEVICE_SN] [-rp REPORT_PATH [REPORT_PATH . . . ]] [-respath RESOURCE_PATH [RESOURCE_PATH . . . ]] [-tcpath TESTCASES_PATH [TESTCASES_PATH . . . ]] [-ta TESTARGS [TESTARGS . . . ]] [-pt] [-env TEST_ENVIRONMENT [TEST_ENVIRONMENT . . . ]] [-e EXECTYPE] [-t [TESTTYPE [TESTTYPE . . . ]]] [-td TESTDRIVER] [-tl TESTLEVEL] [-bv BUILD_VARIANT] [-cov COVERAGE] [--retry RETRY] [--session SESSION] [--dryrun] [--reboot-per-module] [--check-device] [--repeat REPEAT] действие задача Укажите тесты для запуска. позиционные аргументы: действие Укажите действие задача Укажите имя задачи, например "ssts", "acts", "hits"

    
    

Примечание:

Структура базовой команды run следующая:

run [task name] -l module1;module2

task name: тип задачи. Этот параметр является необязательным. Обычно значение равно ssts, acts или hits.

-l: тестовые случаи для выполнения. Используйте точки с запятой (;) для разделения каждого тестового случая.

module: модуль для тестирования. Обычно в директории testcases находится файл .json этого модуля.

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

     >**-sn**: указывает устройства для выполнения тестовых случаев. Если этот параметр установлен на **SN1**, только устройство SN1 выполняет тестовые случаи.
     >**-c**: указывает новый файл **user_config.xml**.
     >**-rp**: указывает путь, где будет сгенерирован отчет. По умолчанию это директория **xxx/xdevice/reports**. Приоритет указанной директории выше по сравнению с дефолтной.
     >**-tcpath**: указывает среду тестирования, которая по умолчанию равна **xxx/xdevice/testcases**. Приоритет указанной директории выше по сравнению с дефолтной.
     >**-respath**: указывает директорию тестового набора, которая по умолчанию равна **xxx/xdevice/resource**. Приоритет указанной директории выше по сравнению с дефолтной.
     >**--reboot-per-module**: перезапускает устройство перед выполнением тестовых случаев. -   **Просмотрите результат выполнения.**    После выполнения команд **run** тестовый фреймворк отображает соответствующие логи на консоли и генерирует отчет о выполнении в директорию, указанную параметром **-rp**. Если параметр не установлен, отчет будет сгенерирован в директории по умолчанию.

    ```
    Структура директории отчета (по умолчанию или указанной)
         ├── result # Результаты выполнения тестовых случаев модуля
         │     ├── module_name.xml
         │     ├── ... ...

         ├── log # Логи выполнения устройств и задач
         │     ├── device_1.log
         │     ├── ... ...
         │     ├── task.log
         ├── summary_report.html # Визуальный отчет
         ├── statistical_report.html # Статистический отчет
         └── ... ...
    ```

## Вовлечённые репозитории<a name="section260848241"></a>

[testing subsystem](https://gitee.com/openharmony/docs/blob/master/en/readme/test.md)

**test_xdevice**

[test_developertest](https://gitee.com/openharmony/test_developertest/blob/master/README.md)

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

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

Введение

Разработка самотестирования и базовая библиотека тестирования для сертификации XTS. Развернуть Свернуть
Apache-2.0
Отмена

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

все

Участники

все

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

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