今天是我真正的落户到csdn,这里将记载我的自动化里程,我将把我遇到的问题抛在这里,如果解决了,我也会分享在此,给下一个遇到相同问题的一个走捷径的方法。
目前我做的自动化方面都是处在功能方向,辅助取代繁琐的手工,减少手工的输出,以及避免测试点丢失,用的工具是robotinum,关于配置搭建这个最基础的我就不废话了,度娘会手把手教你。这个在4.0后多出了可以验证web元素的方法。由于主要针对的apk测试,所以大多数是不提供源码的,还有就是除了小米之外的PA手机也是不能够是debuguser的,这样如果想获取该APK的id以及其他信息,此时,AVD的用处出现了,通过搭建虚拟机并且安装测试apk,应用hierarchy view 抓取对应的id,通过id来牵扯出你肉眼看到的执行控件,这个hierarchy 也可以获得控件对象对应的类,以及控件的位置(坐标)。
了解大概的执行过程,当然也要知道其细节的东西,屏幕上的控件用什么方法,传什么参数,最笨的就是看着控件的模样去判断并且着尝试着调用solo中的方法,当前不可见需要滑屏的就是solo.scroll....上下看你需求去调用,如果需要点击个控件,他有可能是个text,或者是button ,image ,同样调用solo.click...选择对应的属性。在动作执行的时候也需要去判断它执行的过程是否正确,调用的就是solo.assert...或者是Android中封装的junit中的assert方法,二者判断效果差不多,我们可以判断其期望页面的控件信息,或者当前的activity。执行过程中可能有网络影响或者手机性能反应方面不同,所以我们要设置些等待时间,给它个反应的过程,这时候solo.sleep...或者solo.wait...就派上用场了。
注意事项:1)虚拟机是否联网(影响测试效果),如果没有默认联网,需要自己手动配置。
2)xml 是否配置合理,instrumentation 是否起到监控交互。
3)一定要继承自ActivityInstrumentationTestCase2
以上为我近期的了解与学习,可以相互讨论,有不对的地方欢迎批评。