博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
淘宝Android自动化测试框架-TMTS
阅读量:7051 次
发布时间:2019-06-28

本文共 1119 字,大约阅读时间需要 3 分钟。

2010年是淘宝无线突飞猛进开创无线新业务的一年。而从2011年初开始,淘宝技术质量部组便致力于自动化框架的调研和开发。TMTS(Taobao Mobile  System)框架,正是尝试从和IPhone入手,建立无线测试领域的自动化测试整体解决方案。经过前段时间的开发,及业务线试用,TMTS框架Android部分已经趋于稳定。而IPhone的自动化框架也已经开发完成,目前正在业务线试用阶段。
  本文重点介绍TMTS框架的Android部分,这部分目前已经开源。开源链接: http://code.taobao.org/project/view/565/
  在框架开发前,我们先是通过无线业务的同学,收集了明确的需求:
  支持对release版本的测试。即不需要为自动化测试专门打包。
  支持开发和持续集成。每天自动打包,自动运行,给出测试报告。
  支持内嵌WebView的自动化。淘宝有大量的应用有WebView的场景,需要自动化。
  在应用退出时调用killProcess杀掉自已进程,不应影响自动化测试的结果收集。
  之前也用过Robotium框架,但由于淘宝应用的特殊性,导致自动化能运行,但最后的结果收集不到,除非把killProcess代码注释掉再编译。
  针对上面的需求,TMTS使用Android SDK的Instrumentation机制作为自动化框架的基础,保证测试工程可以在不改写和重编译被测应用的基础上,与被测应用运行在同一个进程里,从而达到自动化测试的目的。针对淘宝无线的自动化测试场景,我们对原有Android控件进行了一次抽象,基类为TmtsView,这里定义了所有控件共有的操作,如click等。对于SDK中能编辑文字的控件如TextView,EditText统一抽象为TmtsTextView。对于容器类的View统一抽象为TmtsViewGroup,等等。简化了控件类型的选择,让测试脚本更简单易读。
  持续集成是走向企业级应用的必经之路,只有持续集成、每日回归跑起来了,自动化才能有收益。我们对Athena框架进行了二次开发,加入了失败详情收集,失败截图上传,和运行异常处理的功能,并与hudson集成直接查看运行结果。同时我们还把每日构建也做起来,从开发的svn分支自动打包,自动测试,生成报表。这样每天只要查看运行结果就可以了,大幅度提高了效率。
  其它的很多功能,这里就不一一说明了。通过下面的表,列举TMTS,Robotium和Android Native Driver的特性与区别。
最新内容请见作者的GitHub页:http://qaseven.github.io/

转载地址:http://dlvol.baihongyu.com/

你可能感兴趣的文章
方便记忆的电话号码
查看>>
+CIMG+彩色图片边缘提取实验记录_canny/hough transfrom
查看>>
BZOJ2179:FFT快速傅立叶(FFT)
查看>>
C#面向对象课程两大特性——封装、继承 12月23日
查看>>
Scala-基础-变量与常量
查看>>
法线贴图的一些总结
查看>>
mysql常用命令总结
查看>>
C# Azure-让http自动跳转到https链接
查看>>
寻找符合条件的整数
查看>>
一:依使初衷
查看>>
Linux设备驱动之USB
查看>>
Active Desktop--桌面字体背景被修改
查看>>
网页中自动获取访问用户所在城市的接口插件
查看>>
WAP端 经验记录2
查看>>
锋利jquery第三章案例 总结
查看>>
Software: MPEG-7 Feature Extraction Library
查看>>
实习日记7.21
查看>>
Ural 1018 binary apple tree(显性树的树dp)
查看>>
[Linux学习]脚本文件名搜索
查看>>
菜鸟机器学习散点总结(三)
查看>>