>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 22820 个阅读者 刷新本主题
 * 贴子主题:  Android自动化测试之Robotium学习 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2020-03-31 22:42:02     消息  查看  搜索  好友  邮件  复制  引用

        在使用robotium时,会遇到两个问题:一、如何找到要测试的apk的包名和主类名。二、怎样对要测试的apk进行去签名,并且使用debug签名。

           一、先解决第一个问题,如何找到要测试的apk的包名和类名。

        你要是有程序的源码或者是在测试你自己写的程序,这样就很简单了,你可以很清楚的找到你要测试的程序的包名和主类名。但是,我们通常遇见的情况就是只有一个apk,就比如只有一个豌豆荚apk。

         主要有一下三种方法:

         1)把豌豆荚apk装到模拟器或者真机上,然后到eclipse里面查看Logcat界面,进入豌豆荚主界面,你会在Logcat里面找到AcativityManager一项,后面会显示出你的主界面的包名和类名。如下图所示。

         点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

         2)使用Hierarchy  Viewer这个工具查看。这个是Android tools下的工具,在eclipse选项里也存在,在eclipse的选项“DDMS--Java”那个选项里可以看到。不过在eclipse里使用这个工具有时会连接不上真机,我一般都是单独使用“Hierarchy  Viewer”这个工具。这个工具在你的android sdk安装路径下的tools文件包里,名字叫做“hierarchyviewer.bat”。我一般都是把它发送到桌面上一个快捷方式启动,方面连接。这个工具的使用也很简单。连上真机或者打开模拟器,然后双击启动这个工具,两分钟之后,你就会看到如下界面:

           点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

           这里面会详细显示你操作的模拟器或真机对应的包名和类名。当然,你在真机或者模拟器上,第一次点击豌豆荚程序进入主界面,就能找到了豌豆荚apk的包名和主类名。

         3)使用一个debug去签名工具,也可以轻松找到你要测得apk的包名和主类名,截图如下:

           点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

        这个工具的使用重点在于去签名,放在第二个问题重点来讲。

       二、怎样对要测试的apk进行去签名,并使用debug签名

        关于android程序签名,众所周知,Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序,不管是模拟器还是真实手机,每一个android程序都要会有一个签名文件。我们使用robotium进行测试apk时,也必须要知道要测程序的签名文件,否则,就只能把程序去签名然后使用debug签名。

       1)如果你拥有程序的签名文件时,你怎么添加这个签名文件呢?

        在eclipse里选中项目,然后点击eclipse上面的“Windows”选项,选择最后一项“Preference”,然后点击“Android”选项,点击“Build”项,进入如下界面:

          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

           然后点击“Custom debug keystore”选项后面的“Browse”按钮,找到你的要测试程序的原始签名文件,添加进去:

          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

        然后点击“Apply”,点击“OK”即完成了签名的添加。

       2)。只有一个apk时,并且不知道它的签名文件时,该怎么办?

          这时我们要用到一个重签名工具re-sign.jar,这是robotium官网提供的,下载地址为:http://www.troido.de/re-sign.jar .下载之后,右键这个工具,在“打开方式”里,选择“Java(TM) Platform SE binary”选项,打开之后,显示如下:

          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

                接下来,图中已经标明,把你的apk拖进去,显示如下:

          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

           选中一个保存位置,点击图中的“保存”按钮,完成之后。会弹出如下提示:

           点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

          出现这个界面,说明你对你要测的apk已经重签名成功了,这里的签名方式是debug签名。除了对程序重签名成功外,你的意外收获就是,也找到了你要测的apk的包名和主类名,也就是第一个问题的第三种方法。

        签名成功后,你就可以把这个经过debug签名的apk安装到真机或者模拟器上。然后,运行你的robotium测试程序进行测试。

        至此,robotium的使用,从下载到安装,以及测试代码的配置,都已详细的给出,终于可以长吁了一口气,至少不像刚写第一篇时,那位午饭说的“标题党”了。。。。。。

         以后会对robotium代码测试中的一些主要问题,做一些总结,敬请期待。

              

----------------------------
原文链接:https://blog.51cto.com/fengbohaishang/1001723

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-04-07 09:19:13 重新编辑]
  Java面向对象编程-->Swing组件(上)
  JavaWeb开发-->集合(上)
  JSP与Hibernate开发-->Servlet技术详解(Ⅱ)
  Java网络编程-->Web运作原理(Ⅱ)
  精通Spring-->域对象在持久化层的四种状态
  Vue3开发-->数据库事务的概念和声明
  【JavaFX学习】开发环境配置
  Android 如何监听自身应用被卸载
  通过Https访问的Not trusted Server Certificate的问题的解决...
  Android带有粘性头部的ScrollView-WelliJohn的博客
  Android UI学习 - 用户通知-学习Android
  Android JSON网络数据交换
  Android UI学习 - Tab的学习和使用
  Android Fragments 详细使用
  Android Application Theme的实现及管理
  众多Android 开源项目推荐
  Android JSON网络数据交换
  如何提高Android代码的安全性
  Android开发随想:iPhone和Android之间的对话
  自定义ViewGroup和FrameLayout实现轮播图(包括底部小圆点)
  Android开发学习笔记:浅谈WebView-IT的点点滴滴
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。