分享

android自动化测试之robotium初探

 爪一o_0一斗 2011-11-28

android自动化测试之robotium初探


之前豆瓣说的android测试,使用了robotium。

对于robotium的使用感觉来说一下吧。使用感觉当然是方便了。因为确实帮助自动化测试开发者提供了很多方便的方法。

具体的使用到的方法在这边说一下。

首先,android Junit 提供的实例代码,对于学习好像有一些帮助,但是对于一个实际的涉及到Activity之间有切换的问题,好像提及的不多,反正是没有找到。但是在robotium里面有一个solo.getCurrentActivity()帮助我们很轻松的搞定这个问题。

其次,输入内容。robotium里面的做的很细致,输入是模拟输入并不是简单的setvalue这样的简单粗暴的方法,其次对于控件是否存在和时候能够输入都做了判断。最后,等待控件在方法里面直接封装好了。就是用起来很方便了。

再来说说robotium的不足,

我段数比较低,还没有发现,但是淘宝的牛人们大概说了这么几条。

Robotium提供的API是面向过程的,测试代码的可扩展性差—— 我觉得robotium可以简单的源码反编译,看到源码,是在不爽了,可以自己重写方法。

让testapp和app运行在两个不同的进程中,这是一个大坑。——太高深的理解不了,但是有一个显而易见的缺点就是app进程不在了,testapp还在断言。呵呵

目前框架中有很多地方硬编码Thread.sleep()去等待一个View加载完成,避免对空的View进行操作,或者是对一个view进行set操作后,也需要等待一段时间让操作生效。希望能找到一种回调机制优雅的解决——这个说的很好,但是android现在真的没有提供。


淘宝的牛人说的不足,不光是robotium的不足,而且是android JUnit的不足。所以淘宝希望能又自己的测试框架。这个对于一般中小型软件公司的投入来说是一个不敢想象的问题。所以,坐等淘宝的更高级的测试框架吧。先用robotium了。

评论:

robotium本身就是对instrumentation的封装,如果再进行反编译,那你还不如直接去用instrumentation测试.....
我是最近开始了解这个的.也不太清楚.


robotium本身就是对instrumentation的封装,如果再进行反编译,那你还不如直接去用instrumentation测试.....
  我是最近开始了解这个的.也不太清楚.
=====================
说的很对,反编译的意思其实就是学习和探索,因为文档比较少。没有别的意思。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多