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月前
|
Java Maven 开发工具
第一个安卓项目 | 中国象棋demo学习
本文是作者关于其第一个安卓项目——中国象棋demo的学习记录,展示了demo的运行结果、爬坑记录以及参考资料,包括解决Android Studio和maven相关问题的方法。
第一个安卓项目 | 中国象棋demo学习
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
61 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
2月前
|
Java 测试技术 Android开发
Android性能测试——发现和定位内存泄露和卡顿
本文详细介绍了Android应用性能测试中的内存泄漏与卡顿问题及其解决方案。首先,文章描述了使用MAT工具定位内存泄漏的具体步骤,并通过实例展示了如何分析Histogram图表和Dominator Tree。接着,针对卡顿问题,文章探讨了其产生原因,并提供了多种测试方法,包括GPU呈现模式分析、FPS Meter软件测试、绘制圆点计数法及Android Studio自带的GPU监控功能。最后,文章给出了排查卡顿问题的四个方向,帮助开发者优化应用性能。
169 4
Android性能测试——发现和定位内存泄露和卡顿
|
1月前
|
Web App开发 编解码 视频直播
视频直播技术干货(十二):从入门到放弃,快速学习Android端直播技术
本文详细介绍了Android端直播技术的全貌,涵盖了从实时音视频采集、编码、传输到解码与播放的各个环节。文章还探讨了直播中音视频同步、编解码器选择、传输协议以及直播延迟优化等关键问题。希望本文能为你提供有关Andriod端直播技术的深入理解和实践指导。
44 0
|
2月前
|
测试技术 Shell Android开发
Android 性能测试初探 (六)
本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试,但本系列文章都不去一一探讨了。
54 6
|
2月前
|
JavaScript 测试技术 Android开发
Android 性能测试初探 (四)
本文介绍了GPU在移动端性能测试中的重要性,并详细解释了过度绘制、帧率和帧方差的概念。针对GPU测试,文章列举了三项主要测试内容:界面过度绘制、屏幕滑动帧速率和平滑度。其中,过度绘制测试需遵循特定标准,而帧速率和平滑度测试则可通过软件或硬件方法实现。在软件测试中,使用Systrace插件和高速相机是两种常用手段。对于不同机型,帧率及帧方差的测试标准也需相应调整。
53 5
|
2月前
|
测试技术 Shell Android开发
Android 性能测试初探 (三)
本文承接《Android性能测试初探(二)》,深入探讨CPU与内存测试。介绍了移动端内存测试的重要性及其测试目标,并详细列举了不同状态下应用内存消耗情况的测试项目。此外,还提供了多种内存测试方法,包括使用`procrank`等工具的具体操作步骤。最后,文章也简要提及了CPU测试的相关内容,帮助读者更好地理解Android性能测试的关键要素。
52 5
|
2月前
|
测试技术 Shell 定位技术
Android 性能测试初探 (五)
聊聊大家不常关注的测试项- 功耗
51 3
|
2月前
|
算法 测试技术 Android开发
Android 性能测试初探 (二)
上回大体介绍了下在 android 端的性能测试项,现在我们就细节测试项做一些阐述(包括如何自己 DIY 测试)
46 4
|
2月前
|
测试技术 API Android开发
Android 性能测试初探 (一)
Android 性能测试,跟pc性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试;一类为应用的性能测试。
52 3