XDevice — это основной модуль тестовой среды OpenHarmony, который предоставляет услуги, на которых зависят выполнение тестовых случаев.
XDevice состоит из следующих подмодулей:
xdevice
├── config # Конфигурация XDevice
│ ├── user_config.xml # Конфигурация окружения XDevice
├── src # Исходный код
│ ├── xdevice
├── plugins # Плагины XDevice
│ ├── ohos # Плагины OpenHarmony
| ├── src # Исходный код плагинов OpenHarmony
│ └── setup.py # Скрипт установки плагинов
Требования к окружению для использования этого модуля следующие:
Установка XDevice
Перейдите в директорию установки XDevice.
Откройте консольное окно и выполните следующую команду:
python setup.py install
Установка расширения
Перейдите в директорию установки расширения XDevice.
Откройте консоль и выполните следующую команду:
python setup.py install
Изменение файла user_config.xml
Настройте информацию о вашем окружении в файле user_config.xml.
1. Настройка окружения.
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
``` > **ЗАМЕЧАНИЕ:**
>**list**: отображает информацию о устройствах.
>**list history**: отображает историческую информацию о задачах.
>**list <id\>**: отображает историческую информацию о задачах с указанными ID. **запуск**
> **ЗАМЕЧАНИЕ:**
>**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 )