艾灸补肾 前列腺液:android自动化测试之robotium初探(二)

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 00:05:13

看到文章的题目,有一个二字,就说名了具体的内容是比较二的。反正现在我也没有明白。首先,robotium 有一个getCurrentActivity,这个方法,我觉得那是相当的好用。于是,决定反编译源码好好的学习一下。于是,自己基本在照抄的情况下有了自己的getCurrentActivity方法。一用不好用。然后继续学习。随着学习发现,robotium的那个getCurrentActivity方法也不好用了。超级纠结。开始实验,getCurrentActivity方法使用范围。自己写了一个简单的程序,这个程序由2个Activity组成。Activity1 使用 Intent方式调用 Activity2 。Intent先由button的click事件触发。写了测试程序,getCurrentActivity方法很好用。没有问题。继续改造,还是原来的程序,Activity1 使用 Intent方式调用 Activity2,Intent由oncreat方法直接调用。修改了测试程序。发现,我靠,郁闷了,报错了,得不到Activity2。继续学习,把原来的被测试程序修改一下。Activity1 Intent Activity2 ,Activity2 Intent Activity3 触发的方式都是使用button的click事件。修改了测试程序。运行。没有问题。最后确认。再次修改被测试程序。Activity1 Intent Activity2 ,Activity2 Intent Activity3。Activity1-》Activity2 使用的是button的click事件触发,Activity2-》Activity3 直接在oncreat方法调用。修改了测试程序,getCurrentActivity能找到Activity3。自己重写的getCurrentActivity方法和robotium里面的getCurrentActivity方法表现是一样的。因为基本上就是抄了人家的方法。总结一下,如果程序刚启动的首个Activity自动Intent另外一个Activity来显示,这个地方不要使用getCurrentActivity方法,想别的办法直接找控件,在robotium里面除了用id找控件的方法,别的方法基本都是延时等待。就这样吧,android在线程方面感觉比较混乱,这个自动化测试做起来比较头大。getCurrentActivity这个方法一定要慎用。不过,这个很可能是android本身的一个bug。就像android在2。2以前的版本,不支持北侧程序不能有C++原生库一样。