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