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

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

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

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

目标

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

设计思路

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

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

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

a 每个页面(fragment、activity)为一个模块,定义了通用接口RegularTestPage

execute()  执行测试用例

enter()    进入测试用例页面

enterNextPage() 进入下一个页面

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

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

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

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

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

4 缓存

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

5 异常处理机制

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

6网页版前台操作

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

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

7 其他

邮件、测试数据挖掘等

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

使用说明

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

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

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

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

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

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

预留接口

1 数据库接口

2 页面接口

今后的扩展

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

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

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

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

上一篇:HBase详解(03) - HBase架构和数据读写流程


下一篇:Premiere Pro CC问题集,不断更新