上一篇遗留了两个问题:一、如何找到要测试的apk的包名和主类名。二、怎样对要测试的apk进行去签名,并且使用debug签名。
一、先解决第一个问题,如何找到要测试的apk的包名和类名。
你要是有程序的源码或者是在测试你自己写的程序,这样就很简单了,你可以很清楚的找到你要测试的程序的包名和主类名。但是,我们通常遇见的情况就是只有一个apk,就比如只有一个豌豆荚apk。
主要有一下三种方法:1)。把豌豆荚apk装到模拟器或者真机上,然后到eclipse里面查看Logcat界面,进入豌豆荚主界面,你会在Logcat里面找到AcativityManager一项,后面会显示出你的主界面的包名和类名。如下图所示。
2)。使用Hierarchy Viewer这个工具查看。这个是Android tools下的工具,在eclipse选项里也存在,在eclipse的选项“DDMS--Java”那个选项里可以看到。不过在eclipse里使用这个工具有时会连接不上真机,我一般都是单独使用“Hierarchy Viewer”这个工具。这个工具在你的android sdk安装路径下的tools文件包里,名字叫做“hierarchyviewer.bat”。我一般都是把它发送到桌面上一个快捷方式启动,方面连接。这个工具的使用也很简单。连上真机或者打开模拟器,然后双击启动这个工具,两分钟之后,你就会看到如下界面:
这里面会详细显示你操作的模拟器或真机对应的包名和类名。当然,你在真机或者模拟器上,第一次点击豌豆荚程序进入主界面,就能找到了豌豆荚apk的包名和主类名。
3)。使用一个debug去签名工具,也可以轻松找到你要测得apk的包名和主类名,截图如下:
这个工具的使用重点在于去签名,放在第二个问题重点来讲。
二、怎样对要测试的apk进行去签名,并使用debug签名
关于android程序签名,众所周知,Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序,不管是模拟器还是真实手机,每一个android程序都要会有一个签名文件。我们使用robotium进行测试apk时,也必须要知道要测程序的签名文件,否则,就只能把程序去签名然后使用debug签名。
1)。如果你拥有程序的签名文件时,你怎么添加这个签名文件呢?
在eclipse里选中项目,然后点击eclipse上面的“Windows”选项,选择最后一项“Preference”,然后点击“Android”选项,点击“Build”项,进入如下界面:
然后点击“Custom debug keystore”选项后面的“Browse”按钮,找到你的要测试程序的原始签名文件,添加进去:
然后点击“Apply”,点击“OK”即完成了签名的添加。
2)。只有一个apk时,并且不知道它的签名文件时,该怎么办?
这时我们要用到一个重签名工具re-sign.jar,这是robotium官网提供的,下载地址为:
http://www.troido.de/re-sign.jar .下载之后,右键这个工具,在“打开方式”里,选择“Java(TM) Platform SE binary”选项,打开之后,显示如下:
接下来,图中已经标明,把你的apk拖进去,显示如下:
选中一个保存位置,点击图中的“保存”按钮,完成之后。会弹出如下提示:
出现这个界面,说明你对你要测的apk已经重签名成功了,这里的签名方式是debug签名。除了对程序重签名成功外,你的意外收获就是,也找到了你要测的apk的包名和主类名,也就是第一个问题的第三种方法。
签名成功后,你就可以把这个经过debug签名的apk安装到真机或者模拟器上。然后,运行你的robotium测试程序进行测试。
至此,robotium的使用,从下载到安装,以及测试代码的配置,都已详细的给出,终于可以长吁了一口气,至少不像刚写第一篇时,那位午饭说的“标题党”了。。。。。。
以后会对robotium代码测试中的一些主要问题,做一些总结,敬请期待。
本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/1001723