xdevice — это основной компонент тестового фреймворка OpenHarmony, предоставляющий услуги, необходимые для выполнения тестовых случаев.
xdevice включает в себя следующие основные модули:- command — модуль взаимодействия пользователя с командной строкой тестовой платформы, предоставляющий парсинг команд пользователя и их обработку.
xdevice
├── config # конфигурация xdevice-компонента
│ ├── user_config.xml # конфигурация окружения xdevice
├── src # директория исходного кода компонента
│ ├── xdevice
├── plugins # расширяемые модули xdevice
| |—— ohos # модуль расширения для OpenHarmony
│ ├── src # исходный код расширяемого модуля
│ └── setup.py # скрипт установки расширяемого модуля ohos
| |--devicetest # модуль расширения для devicetest
| └── setup.py # скрипт установки расширяемого модуля devicetest
Требования к среде выполнения:
Установка xdevice
Откройте директорию установки xdevice.
Откройте консоль и выполните следующую команду:
python setup.py install
Установка расширяемого модуля ohos
Откройте директорию установки расширяемого модуля ohos.
Откройте консоль и выполните следующую команду:
python setup.py install
Изменение user_config.xml
Файл user_config.xml — это файл конфигурации пользователя, предоставляемый фреймворком. Пользователи могут настроить соответствующие параметры в соответствии со своими данными об окружении. Подробное описание приведено ниже:
Вот список трех конфигураций устройств.```xml
Тестовые конфигурационные файлы определяют наборы тестовых поддержек для устройств.
Каждый тип тестов 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"
]
}
]
}
```
Запуск фреймворка Фреймворк можно запустить несколькими способами:
Выполнение команд
Команды фреймворка делятся на три группы: help, list, run. Самой часто используемой командой является run.
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.
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 : отображает историю задач, содержащую конкретный идентификатор.
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
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )