淘宝Android自动化测试框架 – TMTS

标签: 未分类 | 发表时间:2011-09-04 16:17 | 作者:太禅 wangdei
出处:http://qa.taobao.com

2010年是淘宝无线突飞猛进开创无线新业务的一年。而从2011年初开始,淘宝技术质量部自动化测试组便致力于手机自动化框架的调研和开发工作。TMTS(Taobao Mobile Test System)框架,正是尝试从Android和IPhone入手,建立无线测试领域的自动化测试整体解决方案。经过前段时间的开发,及业务线试用,TMTS框架Android部分已经趋于稳定。而IPhone的自动化框架也已经开发完成,目前正在业务线试用阶段。

本文重点介绍TMTS框架的Android部分,这部分目前已经开源。开源链接:http://code.taobao.org/project/view/565/

在框架开发前,我们先是通过无线业务的同学,收集了明确的需求:

  1. 支持对release版本的测试。即不需要为自动化测试专门打包。
  2. 支持敏捷开发和持续集成。每天自动打包,自动运行测试用例,给出测试报告。
  3. 支持内嵌WebView的自动化。淘宝有大量的应用有WebView的场景,需要自动化。
  4. 在应用退出时调用killProcess杀掉自已进程,不应影响自动化测试的结果收集。
    之前也用过Robotium框架,但由于淘宝应用的特殊性,导致自动化能运行,但最后的结果收集不到,除非把killProcess代码注释掉再编译。

针对上面的需求,TMTS使用Android SDK的Instrumentation机制作为自动化框架的基础,保证测试工程可以在不改写和重编译被测应用的基础上,与被测应用运行在同一个进程里,从而达到自动化测试的目的。针对淘宝无线的自动化测试场景,我们对原有Android控件进行了一次抽象,基类为TmtsView,这里定义了所有控件共有的操作,如click等。对于SDK中能编辑文字的控件如TextView,EditText统一抽象为TmtsTextView。对于容器类的View统一抽象为TmtsViewGroup,等等。简化了控件类型的选择,让测试脚本更简单易读。

持续集成是自动化测试框架走向企业级应用的必经之路,只有持续集成、每日回归跑起来了,自动化才能有收益。我们对Athena框架进行了二次开发,加入了失败详情收集,失败截图上传,和运行异常处理的功能,并与hudson集成直接查看运行结果。同时我们还把每日构建也做起来,从开发的svn分支自动打包,自动测试,生成报表。这样每天只要查看运行结果就可以了,大幅度提高了效率。

其它的很多功能,这里就不一一说明了。通过下面的表,列举TMTS,Robotium和Android Native Driver的特性与区别。

 

对TMTS框架感兴趣的同学,欢迎加入我们的开源项目。进一步的交流与合作,也可以联系太禅:[email protected]

如果你是Android测试高手,或者对android测试有着深入的兴趣,加入我们吧,真的求贤若渴啊!

相关 [淘宝 android 自动化] 推荐:

淘宝Android自动化测试框架 – TMTS

- wangdei - Taobao QA Team
2010年是淘宝无线突飞猛进开创无线新业务的一年. 而从2011年初开始,淘宝技术质量部自动化测试组便致力于手机自动化框架的调研和开发工作. TMTS(Taobao Mobile Test System)框架,正是尝试从Android和IPhone入手,建立无线测试领域的自动化测试整体解决方案. 经过前段时间的开发,及业务线试用,TMTS框架Android部分已经趋于稳定.

Android Robotium自动化测试

- - CSDN博客移动开发推荐文章
1、官方网站下载测试工程demo. 从 http://code.google.com/p/robotium/downloads/detail?name=ExampleTestProject_v3.6.zip 下载官方的Android测试工程demo. 解压后的文件NotePad、NotePadTest、readme.txt.

Android UiAutomator 自动化测试

- - 操作系统 - ITeye博客
一、一个BUG引发的问题.     如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”. 我想,最好的方式应该是自动化测试.     那么,自动化测试可以完成哪些任务呢.     简单的说,那些重复性的测试工作,都可以交给自动化完成:.         1、设置手机的语言.         2、添加、删除、收藏联系人.

Android自动化测试解决方案

- Haides - InfoQ中文站
现在,已经有大量的Android自动化测试架构或工具可供我们使用,其中包括:Activity Instrumentation, MonkeyRunner,Robotium,以及 Robolectric. 另外LessPainful也提供服务来进行真实设备上的自动化测试.

Android 自动化测试工具初探

- - IT瘾-geek
Android 自动化测试工具初探.    这段几乎都编写代码,没有新的心得体会.唯一由感想的是在测试上.由于策划的变动,接口的完善等因素,总在不停的修改功能,修改代码.由于项目中的代码都经过了好多少,又没有很好的架构规划.所以在修改或测试的时候难免会有遗漏的地方,这个时候就在想android是不是也应该有自动化测试工具来辅助测试.使得功能更完善点.本期的创新文档只能算是对自动化创新工具的一种简介..

Android APP检测之自动化检测实战

- - FreeBuf.COM | 关注黑客与极客
Android APP本文作者:ice@DMZLab. 最近一直在研究的检测,写了一个系列的文章——手工检测,自动化检测,常见漏洞分析. 本篇没有深入的讲解每一个漏洞的详情,仅作测试结果对比和自己的体验心得. 0×01 五大在线检测平台. 腾讯的金刚审计系统  http://service.security.tencent.com/kingkong.

基于 Appium 的 Android UI 自动化测试

- - 美团点评技术团队
自动化测试是研发人员进行质量保障的重要一环,良好的自动化测试机制能够让开发者及早发现编码中的逻辑缺陷,将风险前置. 日常研发中,由于快速迭代的原因,我们经常需要在各个业务线上进行主流程回归测试,目前这种测试大部分由人工进行,费时费力,重复劳动多. 如果能将UI自动化测试与主流程回归结合到一起,一方面保证了代码质量,另一方面大大节约人力成本,可谓一举两得.

淘宝手机电子锁Android版,全新发布

- guangtao - cnBeta全文版
2011年5月13日,淘宝网最新开发的新一代安全产品――淘宝手机电子锁 Android 1.1.0版正式对外发布. 淘宝手机电子锁是基于OTP且结合移动设备在淘宝二次验证上进行安全校验的新兴安全产品,它结合高安全、携带便捷和用户体验良好等诸多优点于一身,同时考 虑到用户对自己账号有主动的安全操作需求,特别提供了各种“锁操作”,如账号登陆历史记录、店铺打烊等.

雷锋读图:两百款Android手机上的淘宝

- - 雷锋网
随着移动互联网的发展、智能手机的普及,日常生活中,那些曾依托于电脑与传统互联网的生活已经慢慢的转嫁到移动终端上. 包括网购、转账、订票、旅游查询还有社交活动,都能通过移动互联网得以满足. 淘宝就曾宣布,通过淘宝手机客户端查询商品、查看物流的日用户超过200万,而Android客户端就占了其中的44%,每日有将近百万的用户在使用淘宝Android客户端.

Android热更新方案Robust开源,新增自动化补丁工具

- - IT瘾-tuicool
我们在之前的博客文章中介绍了高兼容性、高稳定性的实时热更新解决方案Robust之后,业内反响强烈,不断有读者咨询我们什么时候开源. 今天我们非常高兴地宣布,Robust已经开源啦. 开源地址: https://github.com/Meituan-Dianping/Robust. Robust热更新系统借鉴Instant Run原理,实现了一个兼容性更强而且实时生效的热更新方案.