描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787111521204丛书名: 移动开发
全书分为4个大的部分:部分是Android自动化测试基础,主要介绍了Android自动化测试的一些概念、技术以及各种测试工具的使用,包括Monkey、CTS、Instrumentation、Robotium等;第二部分对各种常用工具的实现原理进行了剖析;第三部分主要讲解了如何在这些常用工具的基础上进行二次开发;第四部分总结了Android自动化测试过程中可能会遇到的各种问题。
前言
部分 基础篇
第1章 Android自动化测试基础
1.1 Android自动化分析
1.2 什么样的兵器称手
1.3 如何耍好你手上的兵器
1.4 你了解你的兵器吗
1.5 如何改造你的兵器
第2章 稳定性测试利器monkey使用详解
2.1 monkey概述
2.2 个Impossible Mission
2.3 monkey的基本使用
2.4 monkey的命令及其使用
2.4.1 monkey的常规类命令
2.4.2 monkey的事件类命令
2.4.3 monkey的约束类命令
2.4.4 monkey的调试类命令
2.4.5 monkey命令小结
2.5 第二个Impossible Mission
2.6 monkey脚本编写
2.6.1 monkey API详解
2.6.2 monkey脚本编写
2.6.3 从getevent和input keyevent说起
2.7 monkey工具总结
第3章 monkey之子monkeyrunner使用详解
3.1 monkeyrunner概述
3.2 monkeyrunner API详解
3.2.1 monkeyrunner基本API:手势、输入和点击
3.2.2 monkeyrunnerAPI:启动应用、等待
3.2.3 monkeyrunner强大API:键值事件
3.2.4 monkeyrunner与PC交互API:输入、选项列表框、警告框
3.2.5 monkeyrunner应用操作API:等待设备连接、安装/卸载应用
3.2.6 monkeyrunner设置控制API:重启、唤醒、获取设备属性
3.2.7 monkeyrunner基本图像处理API:截屏、图像保存
3.2.8 monkeyrunner图像处理API:图像截取、对比
3.2.9 monkeyrunner强大图像处理API:转换格式、获取像素元组/像素值
3.2.10 monkeyrunner超级API:广播、用例及命令
3.2.11 monkeyrunner帮助文档
3.3 monkeyrunner脚本编写
3.3.1 bugben示例脚本剖析
3.3.2 monkeyrunner脚本运行注意事项
3.4 第三个Impossible Mission
3.5 monkeyrunner的录制回放
3.5.1 等待功能Wait
3.5.2 按键功能Press a Button
3.5.3 输入功能Type Something
第4章 单元测试框架Instrumentation使用详解
第5章 终极自动化框架UIAutomator使用详解
第6章 兼容性测试框架CTS使用详解
第7章 Android自动化工具使用总结
第二部分 原理篇
第8章 monkey原理分析
第9章 monkeyrunner原理分析
第10章 Instrumentation原理分析
第11章 UIAutomator原理分析
第12章 CTS原理分析
第13章 Android自动化工具源码总结
第三部分 实践篇
第14章 从monkey到传参或录制工具开发
第15章 从Instrumentation到稳定自动化工具开发
第16章 从UIAutomatorViewer到PC端脚本录制工具开发
第17章 从CTS到定制化单元测试
第18章 Android自动化实践之路
第四部分 反思篇
第19章 关于工具的反思
第20章 关于测试的反思
第21章 关于人的反思
附录
前 言 Preface为什么要写这本书2006年大学毕业后,我误打误撞进入软件测试行业。当时公司没有多余的人手,每个测试员需要负责至少一个大型项目的完整测试任务。为了限度减轻工作量,提高工作效率,我开始尝试通过QTP和LR进行项目的自动化测试和压力测试,这也是自己人生中次接触自动化工具。
2009年,在自动化测试领域摸爬滚打三个年头后,我通过阅读相关书籍、自身实践和论坛交流,对QTP和LR工作原理有了较为深入的了解。在看过《微软的软件测试之道》后,进入到微软嵌入式团队,开始借助更为强大的WTT、Xacc等自动化工具在嵌入式平台进行更深入的脚本和工具开发。
2011年,被代联想乐Phone智能手机深深震撼后,我投身到联想智能事业部,开始从Windows平台转战到Android平台,继续研究自动化测试和单元测试。这些年伴随着Android的发展,一路风尘,其中酸甜苦辣,只有同路人能体会。
从事自动化测试这十年,一直坚持做实践笔记,将Android平台各自动化测试工具和框架的使用经验、源码阅读的心得,以及对框架二次封装及相关工具开发的总结和讨论,全部记录了下来,以备日后查阅。不知不觉已经记录了厚厚一本,这本笔记不仅在遇到问题时给我莫大帮助,也促使我立足于这些知识和经验进行更深入的探索。
现在将这本笔记集结成书,不仅仅是为了让大家快速入门,少走弯路,更是为了让大家在实践中发现书中更多的缺漏和问题,借助这本笔记一起向更深的未知世界探索。让我们打开探照灯,拿起洛阳铲,开工吧!
读者对象其实没必要如此细分,只要你想读,读就是了!
如果非要我分,那大致这些朋友可以读。
对软件测试感兴趣的人。
对软件自动化测试感兴趣的人。
对Android自动化测试感兴趣的人。
如何阅读本书本书分为4大部分。
部分为基础篇(第1~7章),简单介绍Android常用自动化测试工具和框架的基本使用技巧与相关理论,帮助读者直接上手操作这些工具或使用框架撰写自动化脚本。
第二部分为原理篇(第8~13章),通过对Android常用自动化测试工具和框架的源码剖析,让大家更直观地了解工具的运行原理。了解原理有两大好处:,可以更灵活地运用这些工具和框架,并清楚地知道应用这些工具和框架的局限性;第二,可以基于这些源码更深入地对工具和框架进行二次开发。
第三部分为实践篇(第14~18章),通过项目中的各种需求和实际问题来分析工具的不足,从而开发一些小工具或对框架进行二次封装,加以补充。这里只是抛砖引玉,希望大家循着这条线索开发出更多、更实用的工具,或对框架进行更深入的封装。
第四部分为反思篇(第19~21章),结合实际工作中领导们提出的各种问题进行深入讨论和反思,这不仅仅是Android自动化测试的问题,还是所有软件自动化测试从业人员都在面临的问题。
附录A为moneky常用键值参照表,方便大家使用monkey开发时查阅。
附录B为getProperty()和getSystemProperty()的说明,方便大家对两者进行对比分析。
勘误和支持由于笔者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,特意申请微信公众号:巴哥奔(请直接扫描下面的微信二维码添加)。如果你有更多的宝贵意见,也请通过公众号与我联系,期待能够得到你们的真挚反馈。我也将在公众号上持续更新本书部分章节扫描版,谢谢!
敬献献给我生命中重要的四个女人:我老妈、我岳母、我爱人和我女儿简洁。
老妈:您是我生命中个包容我的人,也是给予我鼓励多的一个人,您的鼓励让我每次跌倒都不忍懈怠太久,您的包容让我不断爬起来继续前行。
岳母:您不仅给了我一个适合我的女孩,还教会我如何对这个世界满怀善意,此生能遇上如此善良、正直的您,我非常感动、感激、感恩。
老婆:你让我深切地感受到,当双鱼座遇到处女座是一次多么痛的蜕变,你成功地让一条鱼抛开幻想、面对现实、剔除鳞片、割掉尾巴、长出四肢,成为一个有担当的男人,感谢一起走过的12年,和你慢慢变老是人生中浪漫的事情,没有之一。
简洁:爸爸写这本书的时候你还没出生,出版这本书的时候你已经牙牙学语了,因为你迅速地成长,爸爸真的有种光阴似箭的感觉,希望你能身心健康地慢慢成长,用心感受成长的烦恼和喜悦。
致谢曾经以为,将自己多年奋战在一线的自动化经验稍作总结,就可以变成一本非常棒的自动化实践指南。所以当福川邀请我出书的时候,我毫不犹豫地答应下来。
写到1/3的时候,感觉自己快要崩溃了,这比做任何一个项目都要难上百倍。写书不仅是一个人的战斗,还是一个非常系统化的工程――除非你想随便糊弄,否则就必须将一切推翻,重新学习,重构整个体系。
写到一半的时候,正逢爱人怀孕、女儿出生,既幸福也煎熬,真想彻底放弃这本书。然而,看到爱人为孕育一个小生命的努力和坚持,一次次地激励自己振作起来继续战斗。
这本书终于在女儿一岁时完成了,当后一章发到福川和姜影的邮箱时,自己的眼泪抑制不住地流淌下来。我是一个特别讨厌煽情的人,但真的只有自己知道这个过程多么的艰辛。
这本书的诞生,除了家人的支持,必须感谢杨福川和姜影一直以来的帮助,还要感谢我好的兄弟邓凡平和李海潮牺牲很多与家人团聚的时间对本书反复审阅。团队中那些给予本书指导的兄弟姐妹在此一并谢过:雷茹萍、范翰卿、赵大伟、韩琢、周朝彬、丁超、郑会芳、宋丽娟、刘建等。
在本书即将出版之际,得到元庆和明威为我人生中的本书写推荐语,感恩领导,感恩联想!
许奔
评论
还没有评论。