无源码,Robotium测试Android应用初体验

以前有自学过Robotium测试,觉得原理很简单,就是识别控件,调solo API模拟用户操作,写判断是否符合预期就行。但是那都是在有源码的基础上,没有源码只有apk,就会涉及到apk需要重签名,需要在没有源码的基础上获取到apk包名及Activity名称的问题了,这时,各种坑就来了。

从拿到apk到第一个脚本运行起来,整整用了一天的时间,查了无数资料,期间遇到无数新问题,我的记性不太好,现在就来记录一下,免得下次忘记。

首先确保JDK、JRE环境正常,该配的环境参数都要配好,JAVA_HOME,Path,CLASSPATH,ANDROID_HOME,不懂可以百度,各种配置安卓开发环境的帖子都写得很清楚了。楼主就是太自信,以为之前做过Android测试都没有问题,结果这就是第一个坑,

第一:配置好JAVA和Android的环境变量之后,再开始下一步

CLASSPATH没有配置,导致重签名时运行jarsigner时jvm.dll运行不了,之后重新下载jvm.dll之后,又出现另一个缺一个msvcr71.dll,这时楼主已经觉得情况不太妙,估计按照windows给我的提示做下去,我会是一直在重装各种dll了。。这时重新回去看了一下环境配置,悲催,原来是CLASSPATH没有配置,导致运行时找不到这些dll文件。。。。

第二:下载一个好压(各种可以打开查看apk源码的软件,推好压),用好压打开待测试apk,打开之后能看到有一个META-INF,打开,目录下包含3个文件,见图。红色框框里面的两个文件就是签名文件,我们现在就是要修改这2个文件,不要犹豫,删除


第三:打开命令行,输入命令,注意红色字体部分是需要替换成自己的,debug.keystore存放位置可以在IDE工具上看,Eclipse查看方式可见下图,目标apk和源apk(待测apk)最好是写上绝对路径了

jarsigner -verbose -keystore debug.keystore存放位置 -storepass android -keypass android -signedjar 目标apk 源apk androiddebugkey


Eclipse查看debug.keystore存放位置,Window -》Preferences -》Android -》Build-》Default debug keystore



第四:使用命令zipalign对apk进行优化,这个apk就是第三步中的目标apk了,命令如下

zipalign -v 4 第三步中的目标apk 优化后的apk

zipalign使用可以参考以下文章,不详细说了http://blog.csdn.net/djun100/article/details/12781941


第五:通过aapt命令获取到apk的AndroidManifest.xml,命令如下

 aapt dump xmltree 优化后apk AndroidManifest.xml > D:\AndroidManifest.xml

命令后面的> D:\AndroidManifest.xml是把输出保存到本地,也可以不保存直接在命令行找,命令行找还是不太方便。之后在D盘AndroidManifest.xml找到package和APP启动类名称,如下,这两个在后面编写用例时会要用到,




到这里,基本就可以愉快地耍代码啦,加油


可能会有一些童鞋想要直接用工具去完成重签名,也是可以的,像是re-sign工具,但是工具还是或多或少会有一点局限了,像我用re-sign签名出来的就不能用,安装包时手机提示“解析包出错”,而且给我的InitActivity名称都是错的。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值