一、Firebase打包文档
注意
目前IDE提供的打包功能正在重新开发中,请无法正常使用打包功能的同学暂停使用该功能。另外,打包成apk并不意味这可以脱离ADB,成功打包之后还是依赖ADB的。
1. 注意事项
很多用户对于Firebase打包脚本的功能很感兴趣,但是并不是所有的脚本的都可以正常打包。以下是打包功能对脚本的一些限制,希望用户先了解打包功能的适用场景,再酌情适用该功能。
- 安卓原生应用的poco无法使用,因为无法从一个app去启动另外一个app。但是游戏引擎的poco均可使用。
- 部分airtest接口,无法使用该方式执行,例如
clear_app
install_app
uninstall_app
- 由于启动脚本时,会出现kivy闪屏图片,所以请在脚本中打开待测应用,即你的脚本应该以
start_app()
开始 - 打包时,因为涉及到文件删除操作,所以不要使用目标包体的目录(有些用户习惯性直接在生成包体的目录打开命令行安装,会导致无法进行下一次打包)
2. Firebase介绍
AirtestProject开发组与Google-Firebase合作,为测试脚本在Firebase的云测试平台上的运行提供了支持。AirtestIDE目前集成了Firebase插件,提供了将测试脚本打包成apk,然后通过instrumentation在手机上运行测试脚本的一种测试模式。
我们可以通过下图来了解firebase包是如何在手机上运行测试脚本的。
注:矩形代表测试apk;五边形表示游戏apk;蓝色字体表示python代码;黑色字体代表java代码
接下来,我们看下如何才能在Airtest-IDE中打出instrumentation包,并运行在手机上呢。
3. 打包环境配置
因为打包需要使用到使用的jdk的jarsigner模块,因此在使用AirtestIDE的Firebase打包功能,需要配置java(jdk,非jre)环境(需重签APK包):
安装完jdk后,需要配置环境变量:
完成安装和配置后,在命令行输入jarsigner
。如果命令行没有报错,则完成环境配置,可以开始打包。
4. 打包流程
- 在AirtestIDE中调试好测试脚本
- 点击下拉菜单”Firebase”-“Build Instrumentation Test Apk”可以打包单个脚本。点击下拉菜单”Firebase”-“Multiple Scripts Build”可以选择多脚本打包,打包顺序会按照从上到下的脚本顺序完成:
- 等待打包完成,AirtestIDE会将测试脚本及python环境注入apk包体并进行重签名。
- 脚本打包完成后,点击open可以打开apk所在路径
5. 运行测试脚本
- 将打包成功的测试脚本apk,与被测应用同时安装到手机上
- 然后用adb指令启动测试脚本
adb shell am instrument -w com.netease.open.airbase/android.support.test.runner.AndroidJUnitRunner