最近小杨到一家互联网移动公司就职,主要做测试方面的工作,其中遇到一些问题,两人共同探讨解决,特此记录一下。
首先,小杨第一个抱怨是:每天到公司的第一件事情,就是从FTP服务器上面下载最新的安卓的安装包,然后要拷贝到手机上面,再进行原来版本的软件下载,重新安装新的软件,运行软件,查看基本功能,so,这些事情能否形成自动化。
答案是肯定的,有的时候一些技术方面的革新,就是由懒人来推动的。
具体到这个问题,从FTP上下载最新的安装包,这个完全可以由Python来完成,Python有非常强大的FTP的支持库,可以非常方便的让你下载FTP服务器上的任何文件,通过一些排序等手法,很容易就可以定位到你需要的最新的安装包,当然,你的安装包肯定是有一些规则的,所以这个肯定不是什么问题。
其次,要进行手机上的控制,那么对于安卓来说,也有个神器,就是ADB,ADB是SDK提供的一个常用的命令行工具,全称为Android Debug Bridge,用于在调试时连接本机和手机设备.
adb install <apk file name>
将指定的app安装到唯一连接到adb的设备上,后边跟的参数为安装包的文件名
adb install -r <apk file name>
安装应用程序, 但是保留原有应用程序的所有数据
adb uninstall <package name>
将包名指定的app从目标设备上卸载,后边跟的参数为应用程序的包名
adb uninstall -k <package name>
将包名指定的app从目标设备上卸载, 但是保留配置文件和缓存
adb push <local> <remote>
将本机的文件或目录拷贝到目标设备的文件系统中
adb pull <remote> [<local>]
将目标设备中的文件或目录拷贝到本机中
adb shell
使用adb命令启动一个Activity进入目标设备的Linux Shell环境, 在该环境中可以执行一些Linux命令.如在Linux Shell环境中执行ps可以查看android设备中运行的所有进程.在Linux Shell环境中执行exit可以退出Linux Shell环境
adb shell am start -n com.growingwiththeweb.example/.MainActivity
于是,最后的结果是,每天到公司启动电脑,输入命令以后,去泡一杯茶,然后晃晃悠悠回来看执行结果就行。