安卓自动化robotium工具简单使用(二)

在学习安卓的这段时间里,刚好有个朋友有一个APP的应用需要开发。

我马上就动手开始做着试试,在完成开发的同时写了相应的自动化测试代码,使用的是robotium。

才接触安卓没几天,写的不太好,如果有好心人路过请指点一二,谢谢。 

 

目标

加快开发测试迭代效率,代替手工的回归测试工作。

 

设计思路

 

 

 

目前用于启动测试用例的类是UIAutoTest

测试用例的设计按照页面模块化来分配

每个页面(fragmentactivity)为一个模块,定义了通用接口RegularTestPage

 execute()  执行测试用例

 enter()    进入测试用例页面

 enterNextPage() 进入下一个页面 

每个页面都有一个checkpoint类作为检查点--测试用例的设计

c baseConfig类作为整体的参数配置

3 DaoService用于做数据库的操作,我个人推荐数据库用mongoDb数据库,我认为测试的自动化最关键是要简单和可维护性强,这样才便于迭代。

MongoDB的代码我之前就写好了挂在我的博客园里

http://www.cnblogs.com/sunfan1988/p/4169447.html

缓存

测试结果具有生命周期,这样防止重复跑测试用例。

异常处理机制

利用反射,根据传入的对象统一进行try/catch。增加回滚机制让测试用例能在失败后立刻重新执行,提高稳定性。

6网页版前台操作

我推荐做成BS结构的,这样大家都可以方便的使用自动化测试

一般我会引入SpringMVC框架来完成这个开发

其他

邮件、测试数据挖掘等

 

使用说明

1执行测试用例的话,需要逐个添加需要的页面即可。(这里如果再设计一下的话,或许约定好名字或者订好annotation通过反射自动加载)

关于页面测试用例的添加,在这边添加方法,然后去测试页面调用即可

 

被测页面(添加测试用例就在execute

预留接口

数据库接口

页面接口

 

今后的扩展

发送测试报告邮件,邮件代码已经写好,由于我之前都用的maven,这里引包不太方便,暂时没有放进来。

我的话更倾向与用MONGO_DB作为数据库,代码已经写好。暂时没有放入

页面化、或者客户端化支持更便捷的操作。

异常的回滚、缓存执行结果机制、

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2015-03-30 10:56  sunfan  阅读(301)  评论(0编辑  收藏  举报