Установка и использование тестовой среды
Если устройство поддерживает вывод результатов теста только через последовательный порт, установите NFS-сервер.
Например, чтобы установить haneWIN NFS Server 1.2.50 для Windows, скачайте установочный пакет с сайта https://www.hanewin.net/nfs-e.htm.
Для Linux выполните следующую команду:
```
sudo apt install nfs-kernel-server
```
В случае успешной установки будут выведены следующие сообщения:
```
Reading package lists... Done
Building dependency tree
Reading state information... Done
nfs-kernel-server is already the newest version (1:1.3.4-2.1ubuntu5.3).
0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.
```
Использование тестовой среды (опционально)
Установите модуль XDevice.
Перейдите в каталог установки XDevice test/xdevice.
Откройте консоль и выполните следующую команду:
python setup.py install
В случае успешной установки будет выведено следующее сообщение:
```
Installed d:\programs\python37\lib\site-packages\xdevice-0.0.0-py3.7.egg
Processing dependencies for xdevice==0.0.0
Finished processing dependencies for xdevice==0.0.0
```
Настройте тестовый модуль разработчика в файле конфигурации developer_test/config/user_config.xml.
Измените основные параметры конфигурации тестовой среды.
<build>
<example>false</example>
<version>false</version>
<testcase>true</testcase>
...
</build>
Примечание: example: указывает, следует ли создавать пример тестового случая. Значение по умолчанию — false. version: указывает, следует ли создавать версию тестового примера. Значение по умолчанию — false. testcase: указывает, следует ли создавать тестовый случай. Значение по умолчанию — true.
Для устройств, поддерживающих коннектор устройства Harmony (hdc), измените файл конфигурации следующим образом:
<device type="usb-hdc">
<ip>192.168.1.1</ip>
<port>9111</port>
<sn></sn>
</device>
Для устройств, которые поддерживают только последовательное подключение, измените файл конфигурации следующим образом:
<device type="com" label="ipcamera">
<serial>
<com>COM1</com>
<type>cmd</type>
<baud_rate>115200</baud_rate>
<data_bits>8</data_bits>
<stop_bits>1</stop_bits>
<timeout>1</timeout>
</serial>
</device>
(Опционально) Измените файл конфигурации config/user_config.xml модуля developer_test. Если тестовый пример был скомпилирован, укажите выходной каталог компиляции тестового примера. В этом случае тестовая платформа не будет перекомпилировать тестовый пример.
<test_cases>
<dir>/home/opencode/out/release/tests</dir>
</test_cases>
<NFS>
(Проверьте, что тестовая среда готова, если тестируемое устройство поддерживает только последовательное подключение.)
* Система и файловая система записаны на плату разработки и работают правильно. Например, при входе в систему в режиме оболочки отображается приглашение устройства **OHOS\#**, что указывает на правильную работу системы.
* Хост разработки подключён к последовательному порту платы разработки и сетевому порту.
* IP-адреса хоста разработки и платы разработки находятся в одном сегменте сети и могут пинговать друг друга.
* На хосте разработки создан пустой каталог для монтирования тестовых случаев через NFS, и служба NFS запущена правильно.
**Запуск тестовых наборов**
* Запустите тестовый фреймворк и перейдите в каталог **test/developer_test**.
1. Для запуска тестового фреймворка в Windows выполните следующую команду:
```
start.bat
```
2. Для запуска тестового фреймворка в Linux выполните следующую команду:
```
./strat.sh
```
* Выберите форму устройства.
Настройте формы устройств на основе фактической платы разработки, например, **developer_test/config/framework_config.xml**.
* Выполните тестовые команды.
1. Чтобы запросить поддерживаемые подсистемы, модули, формы продуктов и типы тестов тестовыми случаями, выполните команды **show**.
```
usage:
show productlist Querying Supported Product Forms
show typelist Querying the Supported Test Type
show subsystemlist Querying Supported Subsystems
show modulelist Querying Supported Modules
```
2. Выполните команду выполнения, где **-t** является обязательной, а **-ss** и **-tm** — необязательными.
```
run -t ut -ss test -tm example
```
3. Укажите параметры, которые можно использовать для выполнения тестового набора, соответствующего определённой функции или модулю.
```
usage: run [-h] [-p PRODUCTFORM] [-t [TESTTYPE [TESTTYPE ...]]]
[-ss SUBSYSTEM] [-tm TESTMODULE] [-ts TESTSUIT]
[-tc TESTCASE] [-tl TESTLEVEL]
optional arguments:
-h, --help show this help message and exit
-p PRODUCTFORM, --productform PRODUCTFORM Specified product form
-t [TESTTYPE [TESTTYPE ...]], --testtype [TESTTYPE [TESTTYPE ...]]
Specify test type(UT,MST,ST,PERF,ALL)
-ss SUBSYSTEM, --subsystem SUBSYSTEM Specify test subsystem
-tm TESTMODULE, --testmodule TESTMODULE Specified test module
-ts TESTSUIT, --testsuite TESTSUIT Specify test suite
-tc TESTCASE, --testcase TESTCASE Specify test case
-tl TESTLEVEL, --testlevel TESTLEVEL Specify test level
```
* Обратитесь к справке тестового фреймворка, если это необходимо.
Выполните следующую команду, чтобы запросить команды, поддерживаемые тестовой платформой:
```
help
```
* Выйдите из платформы самотестирования.
Для выхода из тестовой платформы выполните следующую команду:
```
quit
```
## Результаты теста и журнал
После выполнения команд теста генерируются журналы тестов и отчёты о тестах.
Результаты теста
Отчёты отображаются на консоли. Корневой путь результата теста следующий:
reports/xxxx-xx-xx-xx-xx-xx
Форматирование результатов тестового случая
result/
Журнал тестового случая
log/plan_log_xxxx-xx-xx-xx-xx-xx.log
Сводный отчёт
summary_report.html
Детали отчёта о тесте
``` **details_report.html**
- Test framework log
```
reports/platform_log_xxxx-xx-xx-xx-xx-xx.log
```
- Latest test reports
```
reports/latest
```
## Repositories Involved
[testing subsystem](https://gitee.com/openharmony/docs/blob/master/en/readme/test.md)
**test\_developer_test**
[test\_xdevice](https://gitee.com/openharmony/testfwk_xdevice/blob/master/README_zh.md)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )