xts编译运行及常见问题
1.预先的环境配置 代码下载、编译、驱动按照、镜像烧录等,需根据具体项目自行处理(本文档相关代码版本 OpenHarmony 4.1 release,以rk3568举例) 2.Xts测试套件编译 2.1全量编译 进入//test/xts/acts目录下,执行如: ./build.sh product_name=rk3568 syste
1.预先的环境配置
代码下载、编译、驱动按照、镜像烧录等,需根据具体项目自行处理(本文档相关代码版本 OpenHarmony 4.1 release,以rk3568举例)
2.Xts测试套件编译
2.1全量编译
进入//test/xts/acts目录下,执行如:
./build.sh product_name=rk3568 system_size=standard
参数product_name根据自己的产品名修改
2.2编译指定测试套件
进入//test/xts/acts目录下,执行命令如:
./build.sh product_name=rk3568 system_size=standard suite=ActsContextTest
参数product_name根据自己的产品名修改,suite根据要编译的测试套修改
2.3编译hats套件
进入//test/xts/hats目录下,其他操作如2.1,2.2;这两个测试套编译过程中还可以 根据需要在编译命令中添加--ccahe、--fast-rebuild选项来加速编译过程
3.编译结果
产物路径://out/{产品名}/suites/acts、//out/{产品名}/suites/hats,如:
4.测试用例执行
4.1搭建执行环境
在Windows环境下,创建测试框架目录,如果d:\Test,从linux环境下,将上述编译好的acts和hats复制到此目录下,其中tools中需要xdevice-0.0.0.tar.gz、xdevice-ohos-0.0.0.tar.gz这两个文件,当 前项目编译出的suites中没有这两个文件,可以通过日构建下载全量包来找这两个文件(每日构建:https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist),也可以通过openharmony官网下载(https://www.openharmony.cn/certification/document/xts/),执行测试用例需要的资源文件,也可通过官网下载
4.2 修改config目录中的user_config.xml文件如下:
Ip和port不需要改,按图配置即可(即使设置了ip和端口也无需修改);如果使用网络连接,sn不需要配置,直接为空;如果使用usb连接hdc,sn需要配置,sn可通过“hdc list targets”命令获取
4.3 配置环境变量
HDC_SERVER_PORT值为8710;即使设置了端口也无需修改
4.4配置python环境
如果以有可忽略此步,如果python不好用(如执行run.bat不能正常运行,缺的库难以安装),可下载python3.8.8版本安装(太高太低都可能出问题,当前用的3.8.8),安装时先卸载旧版本;在 内网如果缺库,可以通过公司镜像下载安装或者换源,或者下载whl文件传到内网安装
pip install wheel -i http://mirror/.***** --trusted-host *****
4.5使用usb hdc连接开发板
使用命令行可直接连接,前面配置好后不需要额外操作
4.6使用网线连接开发板----方法1
有些设备可能usb的hdc没有适配,需要网线连接,连接方法:
1.连接串口,开机后配置ip、路由(可设置端口号,一般不用配,使用默认的8710即可),如:
ipconfig eth0 169.254.13.0 netmask 255.255.0.0
route add default gw 169.254.13.1
2.在cmd命令行执行hdc tconn {ip}:{port} 如:
hdc tconn 169.254.13.0.8710
连接成功后会打印“Connect OK”
4.7 使用网线连接开发板----方法2
上个方法有个缺点,每次重启开发板后都需要通过串口重新配置ip、route 有些麻烦,下面方法可简化操作,不用每次连串口线
- 修改启动脚本init.cfg或init.without_two_stages.cfg(不同的项目根据实际情况修改),如添加下图这句:
修改后,重新推到开发板中,重启可生效
2.编写一个文件名为ipconfig的shell脚本(根据init.cfg文件中添加的来,注意不要用了windows风格的换行符),内容如:
echo “config ip starting”
ipconfig eth0 169.254.13.0 netmask 255.255.0.0 #ip、route根据情况自定义即可
route add default gw 169.254.13.1
# param set persist.hdc.port 34567 端口设置后重启生效,不设端口时默认为8710; 有的网络条件下,设置五位的端口会连接不上,没必要不用重设端口
# hdcd -t & 当前系统会自动启动hdcd,无需再单独执行此命令;如果再执行的话,可能会因为此服务权限问题导致某些应用安装失败等问题
-
将上述ipconfig脚本导入开发板/system/etc/目录下,配置可执行权限,如果因为只读失败,可执行“mount -o rw,remount /”重新挂载
-
重启开发板,打开命令行,输入命令连接开发板:
hdc tconn 169.254.13.0:34567(如果设置了端口为34567,如果没设:hdc tconn 169.254.13.0:8710)
4.8双击run.bat,执行run.bat脚本,不报错即可
4.9执行测试用例
-
执行全部测试用例
在提示框输入:run acts 或 run hats
-
执行单个测试套
在提示框输入如:run -l ActsContextTest
-
按类执行测试套中的测试用例
在提示框输入如:run -l ActsHiAppeventSubTest -ta class:HiAppEventSubTest
ActsHiAppeventSubTest 测试套中有两个类,各有一部分测试用例
-
执行单个测试用例(有些时候整体执行不过,但单个能pass)
在提示框输入如:
run -l ActsHiAppeventSubTest -ta class:HiAppEventSubTest#HiAppEventSub67
-
执行多个测试用例
run -l ActsHiAppeventSubTest -ta class:HiAppEventSubTest#HiAppEventSub67;class:HiAppEventSubTest#HiAppEventSub68;class:HiAppEventSubTest#HiAppEventSub69
执行完成后,可看到总结信息
5.查看测试结果
执行完测试用例后,在run.bat同级目录会建一个reports目录,目录中会按用例执行时间生成文件夹,里面存放有测试报告和log
6.常见问题
6.1找不到设备
检查user_config.xml配置是否正确,环境变量HDC_SERVER_PORT是否配置(固定值为8710,不用改),设备连接是否正常,可尝试重新连接
6.2找不到hap包
有些测试套会依赖其他hap包,检查测试套同级目录此hap包是否存在,依赖的hap包会在测试套对应的json文件中有配置(也可根据报错查找),如:
6.3找不到资源文件
可通过官网下载,放到run.bat同级目录resource文件夹中
6.4内存压力过大
有些设备内存较小,跑测试用例时内存压力过大,导致杀进程等问题导致有些用例fail; 可通过清理缓存,临时缓解一下内存导致的问题(有的可通过一次少执行一些测试用例 解决)
# sync && echo 1 > /proc/sys/vm/drop_caches //清除页式对象
# sync && echo 2 > /proc/sys/vm/drop_caches //清除slab对象
# sync && echo 3 > /proc/sys/vm/drop_caches //同时清理页式对象和slab对象
6.5 出现“远程主机强迫关闭了一个现有的连接”的可能原因
-
hdc可能断开,比如休眠了
-
测试用例有问题没解决或测出了问题(比如没适配好),如测试用例执行超时等
-
测试用例执行了重启、关机之类的操作
可以一次少执行一点测试用例,便于发现问题位置;可以单个测试套都执行通过后再大范围执行
更多推荐
所有评论(0)