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

OSCHINA-MIRROR/openharmony-testfwk_xdevice

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 23 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 22.04.2025 22:38 bcad287

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                   # исходный код расширяемого модуля
│           └── setup.py              # скрипт установки расширяемого модуля ohos
|     |--devicetest                   # модуль расширения для devicetest
|           └── setup.py              # скрипт установки расширяемого модуля devicetest

Ограничения

Требования к среде выполнения:

  • python версии >= 3.7.5
  • pyserial >= 3.3
  • paramiko >= 2.7.1
  • rsa >= 4.0

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

  • Установка xdevice

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

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

    python setup.py install
  • Установка расширяемого модуля ohos

    1. Откройте директорию установки расширяемого модуля ohos.

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

    python setup.py install
  • Изменение user_config.xml

    Файл user_config.xml — это файл конфигурации пользователя, предоставляемый фреймворком. Пользователи могут настроить соответствующие параметры в соответствии со своими данными об окружении. Подробное описание приведено ниже:

    1. Конфигурация, связанная с окружением

    Вот список трех конфигураций устройств.```xml

``` cmd 115200 8 1 20 deploy 115200 cmd 115200 8 1 1 ``` 2. **Настройка каталога тестовых случаев** Ниже приведены содержимое и назначение тегов testcase. ```xml ``` 3. **Настройка каталога ресурсов** Ниже приведены содержимое и назначение тегов resource. ```xml FALSE ``` 4. **Настройка уровня логирования** Ниже приведены содержимое и назначение тегов loglevel. ```xml INFO ```- **Выбор типа задачи**
Тестовые конфигурационные файлы определяют наборы тестовых поддержек для устройств.

Каждый тип тестов XTS имеет конфигурационный файл в формате JSON, который в основном настраивает используемые наборы тестовых поддержек (kits) и выполняет предварительные и завершающие операции.

Ниже приведен пример конфигурационного файла JSON для одного из наборов тестовых поддержек.

```json
{
    // Описание тестового пакета
    "description":"Конфигурация для тестов acecshi",

    // Указание на устройство для выполнения текущего тестового пакета
    // Настройка окружения является необязательной, если она не указана, то будет выбрано свободное устройство из зарегистрированных в фреймворке
    "environment":{
          "type":"device",
          "label":"wifiiot"
    },

    // Указание драйвера для выполнения на устройстве
    "driver":{
        "type":"OHJSUnitTest",
        "test-timeout":"700000",
        "bundle-name":"com.open.harmony.acetestfive",
        "package-name":"com.open.harmony.acetestfive",
        "shell-timeout":"700000",
    },

    // Цель использования kit - поддержка выполнения тестовых сценариев
    "kits":[
        {
          "type":"ShellKit",
          "run-command":[
            "remount",
            "mkdir /data/data/resource"
          ],
          "teardown-command":[
            "remount",
            "rm -rf /data/data/resource"
          ]
        }
    ]
}
```
  • Запуск фреймворка Фреймворк можно запустить несколькими способами:

    • На Linux запустите файл run.sh, находящийся в корневой директории.
    • На Windows запустите файл run.bat, находящийся в корневой директории.
    • На Linux и Windows можно запустить файл src\xdevice\__main__.py, находящийся в директории проекта.
  • Выполнение команд

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

    1. help

      Введите команду help для получения информации о командах фреймворка.

      help:
          use help to get information.  
      usage:
          run:  Display a list of supported run command.
          list: Display a list of supported device and task record.  
      Examples:
          help run
          help list

      Объяснение: help run: отображает описание команды run help list: отображает описание команды list.

    2. list

      Команда list используется для отображения списка устройств и связанных с ними задач.

      list:
          This command is used to display device list and task record.  
      usage:
            list
            list history
            list <id>  
      Introduction:
          list:         display device list
          list history: display history record of a series of tasks
          list <id>:    display history record about task that contains specific id  
      Examples:
          list
          list history
          list 6e****90

      Объяснение: list: отображает список устройств list history: отображает историю задач list : отображает историю задач, содержащую конкретный идентификатор.

    3. run Команда run主要用于执行测试任务。 bash run: Этот командный вызов используется для выполнения выбранных тестовых случаев. Он включает в себя серию процессов, таких как компиляция сценариев использования, выполнение и сбор результатов. usage: 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] action task Укажите тесты для выполнения. позиционные аргументы: action Укажите действие task Укажите имя задачи, например "ssts", "acts", "hits" Основные способы использования команды run представлены ниже. | xDevice命令 | 功能 | 示例 | | :---------------------- | :----------------------------------------------------------- | :----------------------------------------------------------- | | run xts | Запускает все указанные типы модулей xts, такие как acts, hits, ssts и т. д. | run acts | | run -l XXX | Запускает указанный набор тестов. Если есть несколько наборов тестов, они разделены точкой с запятой | run -l ActsWifiServiceTest;ActsLwipTest (название набора тестов из директории testcase) | | run -sn | Указывает серийный номер устройства sn, несколько номеров разделены точкой с запятой | run acts -sn 10.11.133.22:12345
      run acts -sn 2222122;22321321 | | run -rp | Указывает путь для генерации отчета. По умолчанию отчеты генерируются в директории reports в корневой директории проекта, с созданием поддиректории по времени или id задачи | run acts -rp /XXXX/XXX | | run -respath | Указывает путь для тестовых ресурсов. По умолчанию это директория resource в корневой директории проекта | run -respath /XXX/XXX/XXX | | run -tcpath | Указывает путь для тестовых случаев. По умолчанию это директория testcases в корневой директории проекта | run -tcpath /XXX/XXX/XXX | | run -ta | Указывает параметры запуска модуля, можно указать запуск определенного тестового случая из набора тестов, несколько случаев разделены запятой, в настоящее время поддерживаются только hits | run hits -ta size:large
      run hits -l XXXTest -ta class:XXXX(имя класса)#XXXXX(имя метода) | | run --retry | Перезапускает предыдущие неудачные тестовые случаи | run --retry --session 2022-12-13-12-21-11 (путь к отчету задачи) | | run --reboot-per-module | Перезагружает устройство перед запуском каждого модуля | run --reboot-per-module -l XXXX |- Просмотр результатов выполнения

    Фреймворк выводит соответствующие логи при выполнении команды run, а также генерирует отчет о выполнении. Если используется параметр -rp для указания пути отчета, отчет будет создан в указанном пути. В противном случае отчет будет сохранен в стандартной директории.

Текущий отчетный каталог (по умолчанию/указанный каталог) ├── result (каталог для хранения результатов выполнения модулей) │ ├── <имя модуля>.xml │ ├── ... ... │
├── log (каталог для хранения логов работы устройств и задач) │ ├── <устройство 1>.log │ ├── ... ... │ ├── <задача>.log ├── summary_report.html (визуализированный отчет тестовых задач) ├── detailed_report.html (визуализированный отчет о результатах выполнения тестовых случаев) ├── failures_report.html (визуализированный отчет о проваленных тестовых случаях, не создается, если нет проваленных тестовых случаев) ├── summary.ini (записывает тип теста, используемые устройства, время начала и окончания теста и т.д.) ├── task_info.record (записывает команды выполнения, список проваленных тестовых случаев и т.д.) ├── XXX.zip (архив, созданный из вышеупомянутых файлов) ├── summary_report.hash (файл, созданный путем шифрования архива SHA256) └── ... ...## Связанные репозитории

Тестовая подсистема

test_xdevice

test_developer

Опубликовать ( 0 )

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

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