背景:
华为发布鸿蒙系统后,各个应用厂商开始开发自己的鸿蒙应用,自动化测试的需求也要赶上安卓的自动化测试,因此经过调研后才整理的如下鸿蒙原生应用的自动化测试方案——应用解析。
环境:
- adb
- JDK 1.8
- aapt
首先准备一个原生应用包HelloWorld.hap,然后解压缩,可以看到安装包中的内容其中包含一个.apk 的安装包,使用appt d badging HelloWorld.apk 就可以解析到应用的信息了,具体要获取哪些信息就看您的需求了。
代码实现逻辑其实就是将应用包当作一个压缩文件使用ZipFile将文件解压,获取里面的apk后使用aapt对apk进行解析获取应用信息;应用安装其实和adb的安装有区别,如果观察过鸿蒙开发者工具的同学应该知道,在调试应用的过程中开发者工具会输出应用安装的命令日志,那么这些命令能不能转换成adb的命令呢?其实是可以的,以下是我整理的应用安装的几条命令,其实是参考的鸿蒙开发者工具所改写的:
# 先将应用包push到sdcard上的指定目录,这个目录可以自定义
adb -s 设备串号 push HelloWorld.hap /sdcard/tempdir/HelloWorld.hap
# 然后进行安装
adb -s 设备串号 shell bm install /sdcard/tempdir/HelloWorld.hap
# 安装完成之后把安装文件删除
adb -s 设备串号 shell rm -rf /sdcard/tempdir/HelloWorld.hap