• 深入理解Android自动化测试
21年品牌 40万+商家 超1.5亿件商品

深入理解Android自动化测试

①一般下午5点前订单,当日发货,开发票联系客服②教材,学习,考试类书默认有笔记(或做过)③其他类书一般无笔记,提前与客服沟通好再下单,否则本店不承担责任)④部分图书籍采用标准图片,可能存在不同印次不同封面,内容一致⑤出版时间过长的书都可能有自然发黄现象。

74.25 7.5折 99 八品

仅1件

天津宝坻
认证卖家担保交易快速发货售后保障

作者许奔

出版社机械工业出版社

ISBN9787111521204

出版时间2016-01

装帧平装

开本16开

定价99元

货号1626471979912122368

上书时间2024-11-13

休闲图书吧

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:八品
商品描述
前言
  为什么要写这本书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的时候,感觉自己快要崩溃了,这比做任何一个项目都要难上百倍。写书不仅是一个人的战斗,还是一个非常系统化的工程——除非你想随便糊弄,否则就必须将一切推翻,重新学习,重构整个体系。

  写到一半的时候,正逢爱人怀孕、女儿出生,既幸福也煎熬,真想彻底放弃这本书。然而,看到爱人为孕育一个小生命的努力和坚持,一次次地激励自己振作起来继续战斗。

  这本书终于在女儿一岁时完成了,当*后一章发到福川和姜影的邮箱时,自己的眼泪抑制不住地流淌下来。我是一个特别讨厌煽情的人,但真的只有自己知道这个过程多么的艰辛。

  这本书的诞生,除了家人的支持,必须感谢杨福川和姜影一直以来的帮助,还要感谢我*好的兄弟邓凡平和李海潮牺牲很多与家人团聚的时间对本书反复审阅。团队中那些给予本书指导的兄弟姐妹在此一并谢过:雷茹萍、范翰卿、赵大伟、韩琢、周朝彬、丁超、郑会芳、宋丽娟、刘建等。

  在本书即将出版之际,得到元庆和明威为我人生中的第一本书写推荐语,感恩领导,感恩联想!

  许奔

作者简介
 
 许奔,联想集团研发主管工程师,资深自动化测试工程师,从事自动化测试工作8年以上,曾带领联想手机单元测试团队、联想手机自动化测试团队为公司开发出多款实用的Android自动化测试工具,并对Android官方自动化测试框架Instrumentation、UIAutomator、CTS等进行持续封装,不断提升脚本的稳定性、可移植性和可读性,有效地保证了多个项目的自动化测试顺利运行。同时,他还是联想集团年度发明人,MBG专利大师,至今提交智能设备相关专利提案1542件,其中186件发明与实用新型专利通过联想集团专利评审递交国家专利局,被誉为“专利达人”和“创新狂人”。

目录
本书赞誉

前  言

第一部分 基础篇

第1章 Android自动化测试基础 3

1.1 Android自动化分析 3

1.2 什么样的兵器*称手 4

1.3 如何耍好你手上的兵器 6

1.4 你了解你的兵器吗 8

1.5 如何改造你的兵器 9

第2章 稳定性测试利器monkey使用详解 10

2.1 monkey概述 10

2.2 第一个Impossible Mission 10

2.3 monkey的基本使用 11

2.4 monkey的命令及其使用 14

2.4.1 monkey的常规类命令 14

2.4.2 monkey的事件类命令 15

2.4.3 monkey的约束类命令 19

2.4.4 monkey的调试类命令 20

2.4.5 monkey命令小结 22

2.5 第二个Impossible Mission 23

2.6 monkey脚本编写 24

2.6.1 monkey API详解 24

2.6.2 monkey脚本编写 27

2.6.3 从getevent和input keyevent说起 33

2.7 monkey工具总结 37

第3章 monkey之子monkeyrunner使用详解 38

3.1 monkeyrunner概述 38

3.2 monkeyrunner API详解 38

3.2.1 monkeyrunner基本API:手势、输入和点击 44

3.2.2 monkeyrunner必备API:启动应用、等待 49

3.2.3 monkeyrunner强大API:键值事件 58

3.2.4 monkeyrunner与PC交互API:输入、选项列表框、警告框 61

3.2.5 monkeyrunner应用操作API:等待设备连接、安装/卸载应用 65

3.2.6 monkeyrunner设置控制API:重启、唤醒、获取设备属性 69

3.2.7 monkeyrunner基本图像处理API:截屏、图像保存 75

3.2.8 monkeyrunner必备图像处理API:图像截取、对比 78

3.2.9 monkeyrunner强大图像处理API:转换格式、获取像素元组/像素值 82

3.2.10 monkeyrunner超级API:广播、用例及命令 86

3.2.11 monkeyrunner帮助文档 91

3.3 monkeyrunner脚本编写 96

3.3.1 bugben示例脚本剖析 96

3.3.2 monkeyrunner脚本运行注意事项 98

3.4 第三个Impossible Mission 99

3.5 monkeyrunner的录制回放 99

3.5.1 等待功能Wait 100

3.5.2 按键功能Press a Button 102

3.5.3 输入功能Type Something 103

3.5.4 拖拽功能Fling 105

3.5.5 录制脚本导出功能Export Actions 107

3.5.6 录制bugben脚本示例 107

3.5.7 回放bugben脚本 110

3.6 monkeyrunner工具总结 112

第4章 单元测试框架Instrumentation使用详解 114

4.1 Instrumentation概述 114

4.2 Instrumentation基础 115

4.2.1 自动化测试基础 116

4.2.2 Android测试框架 117

4.3 第四个Impossible Mission 120

4.4 Instrumentation的前世:单元测试基础框架JUnit 124

4.5 第五个Impossible Mission 133

4.6 Instrumentation的今生:对Android系统的高度控制 138

4.7 Instrumentation前世今生分析 143

4.8 第六个Impossible Mission 149

4.9 Instrumentation自动化脚本开发 149

4.9.1 Instrumentation自动化条件 150

4.9.2 捕获*初项目控件 157

4.9.3 对*初项目的自动化测试 161

4.10 Instrumentation工具总结 167

第5章 终极自动化框架UIAutomator使用详解 171

5.1 UIAutomator概述 171

5.2 第七个Impossible Mission 173

5.3 更清晰的控件捕获 173

5.4 更直观的测试项目创建 175

5.5 UIAutomator API详解 177

5.5.1 与monkeyrunner对照之:给力的手势 178

5.5.2 与monkeyrunner对照之:输入、点击和长按 180

5.5.3 与monkeyrunner对照之:等待和截屏 182

5.5.4 与monkeyrunner对照之:锁屏/唤醒、获取设备属性 184

5.5.5 与monkeyrunner对照之:键值事件 186

5.5.6 人无我有之:屏幕旋转、布局文件 187

5.5.7 人无我有之:获取包名、应用名和通知栏 189

5.5.8 人无我有之:获取对象属性 189

5.5.9 强大的控件筛选器:UiSelector 192

5.5.10 “给力”的控件定位器:UiCollection 194

5.5.11 无敌的滚动:UiScrollable 195

5.5.12 疯狂的监听器:UiWatcher 200

5.5.13 UIAutomator API综述 202

5.6 更简洁的脚本撰写 202

5.6.1 UIAutomator界面捕获 202

5.6.2 UIAutomator应用启动 205

5.6.3 UIAutomator控件捕获 206

5.6.4 UIAutomator控件操作 211

5.6.5 Bugben完整测试项目 213

5.7 更便捷地编译运行 216

5.8 UIAutomator工具总结 223

第6章 兼容性测试框架CTS使用详解 226

6.1 CTS概述 226

6.2 CTS测试须知 228

6.3 CTS的命令及运行 231

6.4 CTS测试报告 237

6.5 CTS Verif?ier 240

6.6 CTS注意事项 243

6.7 CTS工具总结 245

第7章 Android自动化工具使用总结 247

第二部分 原理篇

第8章 monkey原理分析 252

8.1 monkey源码结构 252

8.2 monkey架构分析 254

8.2.1 旅程开始 254

8.2.2 从run()启程 254

8.2.3 monkey参数详解 257

8.2.4 如何细分参数? 262

8.2.5 导入package列表 264

8.2.6 monkey的系统日志 266

8.2.7 检查内部配置 268

8.2.8 构建三大能力 268

8.2.9 获取合法package列表 271

8.2.10 monkey运行模式汇总 272

8.2.11 monkey运行核心 281

8.2.12 旅程结束 286

8.3 monkey的原理总结 288

第9章 monkeyrunner原理分析 289

9.1 monkeyrunner源码结构 289

9.2 monkeyrunner架构分析 289

9.2.1 设备连接 291

9.2.2 应用安装 311

9.2.3 应用启动 319

9.2.4 按键发送 321

9.2.5 截屏 326

9.2.6 文件存储 331

9.3 monkeyrunner的原理总结 334

第10章 Instrumentation原理分析 336

10.1 Instrumentation源码结构 336

10.2 Instrumentation架构分析 338

10.2.1 从InstrumentationTestRunner说开来 339

10.2.2 Instrumentation测试运行 342

10.2.3 启动被测应用 345

10.2.4 startActivity()方法 348

10.2.5 startActivity()方法后遗症 351

10.2.6 连接ViewServer 356

10.2.7 获取设备应用信息 357

10.2.8 获取应用控件树 359

10.2.9 绘制控件树视图 362

10.3 Instrumentation的原理总结 364

第11章 UIAutomator原理分析 370

11.1 UIAutomator源码结构 370

11.2 UIAutomator架构分析 371

11.2.1 控件捕获 371

11.2.2 创建UiObject对象 372

11.2.3 验证控件是否存在 374

11.2.4 验证控件是否可用 381

11.2.5 点击并等待界面跳转 381

11.2.6 获取屏幕截图 386

11.2.7 发送返回事件 388

11.3 UIAutomator的原理总结 390

第12章 CTS原理分析 392

12.1 CTS源码结构 392

12.2 CTS架构分析 392

12.2.1 CTS案例MediaPlayer分析 393

12.2.2 测试资源预置及环境清理 396

12.2.3 空文件及音视频播放测试 398

12.2.4 切换下一首歌测试 401

12.2.5 频谱测试 406

12.2.6 无缝播放测试 407

12.2.7 视频界面重置测试 410

12.2.8 录制视频播放角度测试 412

12.2.9 不同格式视频文件测试 415

12.2.10 字幕选择/取消选择测试 423

12.2.11 字幕切换测试 427

12.2.12 播放器回调测试 429

12.2.13 视频录制播放测试 432

12.3 CTS的原理总结 435

第13章 Android自动化工具源码总结 436

第三部分 实践篇

第14章 从monkey到传参或录制工具开发 443

14.1 从monkey原理说开来 443

14.2 monkey传参小工具 444

14.2.1 monkey传参小工具之常规类命令 444

14.2.2 monkey传参小工具之事件类命令 445

14.2.3 monkey传参小工具之约束类命令 447

14.2.4 monkey传参小工具之调试类命令 448

14.3 monkey脚本录制工具开发 449

14.3.1 monkey脚本录制工具需求 450

14.3.2 monkey脚本录制工具设计 450

14.3.3 monkey脚本录制工具原理 453

14.4 monkey工具总结 458

第15章 从Instrumentation到稳定自动化工具开发 459

15.1 为何要做二次封装? 459

15.2 如何做Instrumentation的二次封装 461

15.2.1 场景1:源码问题 461

15.2.2 场景2:控件问题 462

15.2.3 场景3:用例结构问题 463

15.2.4 场景4:运行日志问题 465

15.2.5 场景5:窗口监测问题 465

15.2.6 场景6:控件ID重复或缺失问题 466

15.2.7 场景7:出错截屏问题 468

15.3 二次封装改进项总结 469

第16章 从UIAutomatorViewer到PC端脚本录制工具开发 470

16.1 从UIAutomatorViewer原理说开来 470

16.2 基于UIAutomatorViewer的PC端脚本录制工具 472

16.2.1 PC端脚本录制工具:基本设计 472

16.2.2 PC端脚本录制工具:详细设计 474

16.2.3 PC端脚本录制工具:原理剖析 477

16.2.4 PC端脚本录制工具:界面设计 483

16.3 UIAutomatorViewer录制工具总结 487

第17章 从CTS到定制化单元测试 489

17.1 从CTS原理说开来 489

17.2 用CTS运行定制单元测试脚本 491

17.2.1 项目需求分析 491

17.2.2 研究官方CTS用例集 492

17.2.3 自定义CTS用例集 500

17.2.4 运行自定义CTS用例集 504

17.3 定制单元测试脚本总结 505

第18章 Android自动化实践之路 507

第四部分 反思篇

第19章 关于工具的反思 512

19.1 关于录制/回放工具的幻想 512

19.2 要门槛还是要适配 513

19.3 什么样的自动化框架才是强大的框架 515

19.4 将第七个馒头扔出窗外 516

第20章 关于测试的反思 519

20.1 自动化是一种短线投资吗 519

20.2 难道自动化是为了替代黑盒测试 520

20.3 衡量自动化效果的标准是Bug数吗 521

第21章 关于人的反思 522

21.1 测试脚本编写者态度问题 522

21.2 什么人适合做自动化 523

21.3 自动化与组织架构有没有关系 525

附录A monkey常用键值参照表 526

附录B getProperty()和getSystemProperty() 532

内容摘要
  联想集团董事长兼CEO杨元庆、ZUKCEO常程鼎力推荐,资深测试专家多年经验总结。本书以漫画和对话风格对Android平台的各种自动化测试工具、框架的原理、使用技巧和二次开发进行了详细的讲解。

  《深入理解Android自动化测试》分为四篇,共21章:

  基础篇(第1~7章),简单介绍Android常用自动化测试工具和框架的基本使用技巧与相关理论,帮助读者直接上手操作这些工具或使用框架撰写自动化脚本。

  原理篇(第8~13章),通过对Android常用自动化测试工具和框架的源码剖析,让大家更直观地了解工具的运行原理。让读者不但可以更灵活地运用这些工具和框架,清楚地知道应用这些工具和框架的局限性,还可以基于这些源码更深入地对工具和框架进行二次开发。

  实战篇(第14~18章),通过项目中的各种需求和实际问题来分析工具的不足,从而开发一些小工具或对框架进行二次封装,循着这条线索开发出更多、更实用的工具,或对框架进行更深入的封装。

  反思篇(第19~21章),结合实际工作中领导们提出的各种问题,对工具、测试本身以及人深入进行讨论和反思,深入思考Android自动化测试以及软件自动化测试从业人员都在面临的问题。

主编推荐
  联想集团董事长兼CEO杨元庆、ZUK CEO常程鼎力推荐,资深测试专家多年经验总结

  以漫画和对话风格对Android平台的各种自动化测试工具、框架的原理、使用技巧和二次开发进行了详细的讲解。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP