写正文之前,先吹吹这个robotium,好让丈二童鞋摸得到头脑。最近一直在抽空自学Android自动化测试,了解到一个传说中很牛X的号称"Seleniumfor Android"的Robotium。这玩意牛在哪呢?牛就牛在它对android的自动化测试可以说是“黑白通吃”,它其实是对android自带测试类Instrumentation的一个封装,方便于测试人员直接调用封装好的接口。你可以这样理解,robotium就好比一个富二代,而instrumentation呢就是他爹“Li Gang”,凭着它爹在android家族的势力,robotium可以横冲直撞,黑白通吃,嘿嘿。如果你能够拿到代码,你可以直接进行白盒测试,比如assert一下当前的activity,操作的结果对不对等等,都可以验证。如果你拿不到代码,只有一个APK,也米得关系,你一样可以打到程序内部测试一番,比如这时你可以借助界面上各个控件的index来获得这个控件,并进行相关的操作。

好了,牛吹到这里,该写我的tips了,现在有些学习的小技巧先记下来,免得日后遗忘,呵呵。

1. 有时text view或者button的click方法会失效,咋办?答案是在被测程序的AndroidManifest.xml文件里加上这么一句:<supports-screens android:anyDensity="true"/>就行了。唉,当时为了找到这个解决方法可浪费了俺不少时间啊,最后在官网上找到答案了。

2. 如果要想在robotium的测试程序里读写SD card肿么办?答案是在被测程序的AndroidManifest.xml文件里加上<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>。注意是在被测程序里加上,在测试程序本身的manifest文件里加会很坑爹的。

3. 还想在Java程序里加点脚本的特性肿么办?俺在网上找到一个好东东:beanshell,这个工具是free的使JAVA可以具备脚本特性的东东,比如你想使用eval,用它很方便,效果你懂得。。。使用前只需将beanshell的JAR导入到项目中即可。

好了,今天先记这么多,以后有新的技巧再陆续记下来。以后研究的目标是利用robotium开发一套基于关键字驱动的测试框架,目前正在构思中,欢迎感兴趣的小盆友一起学习和讨论,呵呵。

转自:http://www.51testing.com/?uid-22381-action-viewspace-itemid-238847

更多相关文章

  1. Android应用程序框架层和系统运行库层日志系统源代码分析
  2. android的socket程序中conn.getResponseCode() 为405
  3. android 调用系统相机程序,存放文件夹创建不了(miui 2.3.9系统)
  4. Monkey测试结果解析(二)
  5. android,总结,判断应用程序是否切换到后台
  6. android闹钟程序实现铃声
  7. Android定时自动启动应用程序
  8. 获取android系统信息或应用程序信息

随机推荐

  1. Android(安卓)SDK安装时出错“android Fa
  2. Android中的drawable state的各种状态
  3. Android(安卓)资源文件中@、@android:typ
  4. android Theme启动APP闪屏处理
  5. Android(安卓)基本概念
  6. android:layout_gravity和android:gravit
  7. android app 与android wear 通过Message
  8. android跑马灯有时候不跑
  9. ImageView的android:maxHeight,android:mi
  10. Android(安卓)程式开发(原创)の目录索引