Android自动化测试之Robotium学习(四)

简介:

      上一篇遗留了两个问题:一、如何找到要测试的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

相关文章
|
2月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
105 0
|
3月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
15天前
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
13 0
|
14天前
|
网络协议 测试技术 网络性能优化
Android系统 以太网吞吐量和丢包测试
Android系统 以太网吞吐量和丢包测试
29 1
|
14天前
|
网络协议 Shell Android开发
Android 深入学习ADB调试原理(1)
Android 深入学习ADB调试原理(1)
26 1
|
14天前
|
存储 应用服务中间件 网络安全
Android 网络链接稳定性测试解决方案
Android 网络链接稳定性测试解决方案
20 0
|
14天前
|
缓存 网络协议 编译器
针对Android系统工程师的C/C++学习目录
针对Android系统工程师的C/C++学习目录
4 0
|
15天前
|
Linux 测试技术 Android开发
测试程序之UART 232/485适用于Android/Linux
测试程序之UART 232/485适用于Android/Linux
21 0
|
15天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
14 0
|
15天前
|
Java API Android开发
Android 11 修改libcore Cipher AS测试
Android 11 修改libcore Cipher AS测试
14 1

热门文章

最新文章