• 安卓自动化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作为数据库,代码已经写好。暂时没有放入

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

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

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    什么是BFC?
    获取JavaScript对象的键值对两种方法的不同之处
    浏览器什么时候会引起reflow,应该怎样避免reflow的开销呢?
    用js实现跳转页面的方法
    停止animate动画和判断是否处于动画状态
    解决slideDown(),slideUp()鼠标来回进入的问题
    IE7浏览器绝对定位被下边元素遮挡问题解决办法
    前端开发面试要点及对策
    inline-block元素之间空白间距的解决办法
    web前端开发和移动前端开发的本质区别在哪里?
  • 原文地址:https://www.cnblogs.com/sunfan1988/p/4377427.html
Copyright © 2020-2023  润新知