资源详情

自动化测试实战宝典:Robot Framework + Python从小工到专家(博文视点出品)

自动化测试实战宝典:Robot Framework + Python从小工到专家(博文视点出品)-电子书下载


作者: 周金剑(狂师)
出版社: 电子工业出版社
副标题: Framework
出版年: 2020-1
页数: 540
定价: 109元
装帧: 平塑勒
ISBN: 9787121363207

下载次数:1


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

《自动化测试实战宝典:Robot Framework + Python从小工到专家》以自动化测试技术为主线,循序渐进地介绍了自动化测试所涉及的知识体系,通过不同端的实战项目,综合运用了所介绍的技术,旨在提高测试人员的综合技术能力并扩展知识体系。
《自动化测试实战宝典:Robot Framework + Python从小工到专家》从对测试行业现状及未来几年趋势的分析开始,呼吁大家在时不我待的当今社会中,找准定位并建立自身的职场核心竞争力。然后围绕自动化测试技术应用结合多端(后端、Web端、Android端、iOS端、H5端、小程序端)实例来引导读者快速上手。本书涵盖了绝大部分自动化测试知识,不但内容充实、逻辑严密,且图文并茂、语言生动。对Robot Framework使用者来说,本书更是一部难得的工具宝典。
《自动化测试实战宝典:Robot Framework + Python从小工到专家》适合对测试技术感兴趣或者正在从事测试工作的人(不限于手工测试、自动化测试、测试开发、测试管理等)阅读。希望读者在学习完本书的内容后能提高综合的技术水平,成为一名新时代的优秀测试工程师。

周金剑,笔名:狂师,行业ID:mikezhou。
目前就职于国内一家互联网医疗公司,担任研发中心测试总监,负责管理、建设研发中心产品质量体系。
之前从事过研发团队建设、团队管理、测试开发、研发效率提升、DevOps建设等工作。曾就职于国内一家移动互联网金融公司,担任资深测试开发工程师,负责主导测试平台开发、研发效率提升等工作,并曾在酷狗音乐主导过后端接口自动化测试、App UI自动化测试、持续集成等项目。
2017年开通个人技术公众号:测试开发技术(mikezhou_talk),该公众号专注于软件测试开发领域开源技术、Python编程应用、主流工具(性能、自动化、安全、CI/CD)、经验、落地实践、解决方案分享,以及职场进阶和个人发展等。

第1部分 入门篇
第1章大话测试行业 2
1.1测试行业现状分析 2
1.2未来发展趋势 4
1.3测试工程师的核心竞争力 8
1.4测试知识体系 12
1.5测试发展能力图谱及推荐书单 23
1.6本章总结 25
第2章认识自动化测试 26
2.1为什么自动化测试是必要的 26
2.2手工测试与自动化测试的区别 28
2.3自动化测试常见误区 29
2.4自动化测试的优劣分析 31
2.5提倡分层自动化测试 32
2.6什么项目适合做自动化测试 33
2.6.1 什么样的项目或团队适合做自动化测试 34
2.6.2 不适合做自动化测试的项目有什么特点 35
2.7做好自动化测试需要具备哪些能力 36
2.8自动化测试引入时机和适用场景 37
2.9常用主流工具有哪些 38
2.10自动化测试面临的挑战 41
2.11本章总结 41
第2部分 基础学习篇
第3章RobotFramewor

框架准备 44
3.1RobotFramework框架介绍 44
3.1.1优势和亮点 44
3.1.2不足 45
3.1.3RobotFramework生态系统 45
3.2Windows平台环境搭建 47
3.2.1Python的安装与配置 47
3.2.2pip的安装与升级 49
3.2.3RobotFramework框架的安装 50
3.2.4wxPython框架的安装 50
3.2.5RobotFrameworkRIDE的安装 51
3.3Mac平台环境搭建 52
3.3.1Python的安装与配置 52
3.3.2pip的安装 53
3.3.3RobotFramework框架的安装 54
3.3.4MacOSX无法启动RIDE的解决方案 54
3.4Linux平台环境搭建 57
3.4.1Python的安装与配置 57
3.4.2pip的安装与配置 58
3.4.3RobotFramework框架的安装 58
3.4.4wxPython框架的安装 59
3.5RobotFrameworkRIDE支持Python3 59
3.5.1RobotFrameworkRIDE1.7.3的新特性 59
3.5.2RobotFrameworkRIDE1.7.3的安装与升级 60
3.6本章总结 60
第4章Python测试编程 62
4.1 语法规范 62
4.1.1代码编排 63
4.1.2文档编排 63
4.1.3 空格的使用 64
4.1.4 注释及文档描述 64
4.1.5 命名规范 65
4.1.6 编码建议 66
4.2 Python2和Python3如何选择 67
4.2.1为什么Python2和Python3都要学 67
4.2.2Python2和Python3的主要特性区别 68
4.2.3Python2和Python3同时兼容的技巧 73
4.3快速入门 75
4.3.1Python变量和赋值 75
4.3.2Python字符串 77
4.3.3Python列表和元组 78
4.3.4Python字典 79
4.3.5Pythonif分支条件 80
4.3.6Pythonwhile循环 81
4.3.7Pythonfor循环 81
4.3.8Pythonrange内建函数 82
4.3.9Python列表解析 83
4.3.10Pythonopen函数 85
4.3.11Python错误和异常 88
4.3.12Python函数 93
4.3.13Python类 102
4.3.14Python模块与包 110
4.3.15Python常用内置函数 115
4.4Python编程常用技巧 116
4.4.1Python拼接字符串的7种方式 116
4.4.2Python列表推导、字典推导、集合推导 118
4.4.3Python三元操作符用来进行条件赋值 119
4.4.4Python同时迭代两个列表 120
4.4.5Python带索引的列表迭代 120
4.4.6Python迭代列表组合 120
4.4.7Python统计元素出现次数 121
4.4.8Python找出列表中出现次数最多的元素 121
4.4.9Python一键启用文件服务器 122
4.4.10Python快速拼接构造列表 122
4.4.11Python一行代码搜索字符串的多个前后缀 122
4.4.12Python实现真正的switch-case语句 123
4.4.13Python实例方法、静态方法、类方法 123
4.4.14Python求集合并集、交集、差集 124
4.4.15Python去除列表重复元素的几种方法 125
第5章RobotFramework功能的使用 127
5.1RIDE两种启动方式 127
5.2RIDE功能介绍 128
5.2.1菜单栏 128
5.2.2工具栏 131
5.2.3案例区 131
5.2.4工作区 131
5.2.5常用快捷键 132
5.3常用RobotFramework编辑器工具 133
5.3.1PyCharm 133
5.3.2SublimeText 138
5.3.3 其他工具 140
5.4测试项目、测试套件和测试用例 141
5.4.1测试项目 141
5.4.2测试套件 141
5.4.3测试用例 142
5.5资源文件 143
5.5.1内部资源文件 143
5.5.2外部资源文件 143
5.6常量和变量 144
5.6.1变量与常量介绍 144
5.6.2变量作用域 145
5.6.3RobotFramework内置变量 146
5.6.4标量变量的定义和使用 147
5.6.5列表变量的定义和使用 149
5.6.6字典变量的定义和使用 151
5.6.7变量知识补充 153
5.7用户关键字 153
5.7.1关键字Arguments 154
5.7.2关键字Teardown 160
5.7.3关键字Return 161
5.8Edit选项卡 162
5.8.1测试项目Edit选项卡 162
5.8.2测试套件Edit选项卡 163
5.8.3测试用例Edit选项卡 165
5.8.4小结 166
5.9TextEdit选项卡 167
5.10Run选项卡 168
5.10.1自动保存 168
5.10.2失败暂停 168
5.10.3Arguments参数配置 169
5.10.4Onlyruntestswiththesetags 170
5.10.5Skiptestswiththesetags 171
5.10.6查看测试报告和测试日志 172
5.11RobotFramework常用技巧 173
5.11.1If分支结构 173
5.11.2For循环结构 174
5.11.3列表变量的用法和元素获取 176
5.11.4变量使用方法补充 177
5.11.5搜索关键字 178
5.11.6测试用例执行六大技巧 179
5.11.7测试标签技巧 181
5.11.8Setup和Teardown 183
5.11.9Pybot和Robot命令 183
5.11.10Jybot模式安装与运行 185
第6章RobotFramework常用函数库 189
6.1内置库介绍 189
6.1.1标准库 189
6.1.2扩展库 190
6.2Evaluate万能关键字 191
6.3类型转换 194
6.3.1 ConvertToString:转换成字符串 194
6.3.2 ConvertToInteger:转换成整数 194
6.3.3ConvertToNumber:转换成符点数 194
6.3.4ConvertToBoolean:转换成布尔值 195
6.3.5EncodeStringToBytes:字符编码 196
6.4变量操作 196
6.4.1LogVariables:打印变量 196
6.4.2ImportVariables:导入变量 196
6.4.3SetVariable:设置变量 197
6.4.4SetGlobalVariable:设置全局变量 197
6.4.5SetSuiteVariable:设置测试套件变量 198
6.4.6SetTestVariable:设置测试用例变量 198
6.4.7SetVariableIf:当条件满足时设置变量 199
6.4.8GetVariables:获取所有变量 199
6.4.9GetVariableValue:获取变量值 199
6.4.10GetEnvironmentVariables:获取所有环境变量 200
6.4.11GetEnvironmentVariable:获取环境变量值 200
6.4.12SetEnvironmentVariable:设置环境变量 200
6.5关键字操作 201
6.5.1RunKeyword:运行关键字 201
6.5.2RunKeywordIf:当条件满足时运行关键字 201
6.5.3RunKeywordUnless:当条件不满足时运行关键字 201
6.5.4RepeatKeyword:重复运行某关键字 202
6.5.5RunKeywords:运行多个关键字 202
6.5.6RunKeywordAndReturn:运行关键字并返回结果 202
6.5.7RunKeywordAndReturnIf:当条件满足时运行关键字并返回结果 203
6.5.8RunKeywordAndContinueOnFailure:失败后仍运行指定关键字 203
6.5.9RunKeywordAndIgnoreError:运行关键字并忽略错误 203
6.5.10RunKeywordIfAllTestsPassed:所有测试用例通过后运行关键字 203
6.5.11RunKeywordIfAnyTestsFailed:任一测试用例失败后运行关键字 204
6.5.12RunKeywordIfTestPassed:测试用例通过后运行关键字 204
6.5.13RunKeywordIfTestFailed:测试用例失败后运行关键字 204
6.5.14RunKeywordIfTimeoutOccurred:测试用例超时后运行关键字 204
6.6条件与循环 205
6.6.1ContinueForLoop:直接继续下一次循环 205
6.6.2ContinueForLoopIf:当条件满足时继续下一次循环 205
6.6.3ExitForLoop:立即退出循环 205
6.6.4ExitForLoopIf:当条件满足时退出循环 206
6.7断言操作 206
6.7.1Should(Not)BeEmpty:断言是否为空 206
6.7.2Should(Not)BeEqual:断言是否相等 207
6.7.3Should(Not)BeEqualAsStrings:断言作为字符串是否相等 207
6.7.4Should(Not)BeEqualAsIntegers:断言作为整数是否相等 208
6.7.5Should(Not)BeTrue:断言是否为真 208
6.7.6Should(Not)Contain:断言是否包含某元素 209
6.7.7Should(Not)ContainAny:断言是否包含任一元素 210
6.7.8ShouldContainXTimes:断言某元素是否被包含指定次数 210
6.7.9Should(Not)StartWith:断言是否以某某开头 210
6.7.10Should(Not)EndWith:断言是否以某某结尾 211
6.7.11Should(Not)MatchRegexp:断言是否匹配正则表达式 211
6.7.12LengthShouldBe:断言长度是否相等 212
6.7.13KeywordShouldExist:断言关键字是否存在 213
6.7.14ListShould(Not)ContainValue:断言列表是否包含某值 213
6.7.15ListsShouldBeEqual:断言两个列表是否相等 213
6.7.16ListShouldNotContainDuplicates:断言列表不包含重复项 214
6.7.17DictionaryShouldContainItem:断言字典是否包含某键值对 214
6.7.18DictionaryShould(Not)ContainKey:断言字典是否包含某Key值 214
6.7.19DictionaryShould(Not)ContainValue:断言字典是否包含某Value值 215
6.7.20DictionariesShouldBeEqual:断言给定的字典是否相等 215
6.8集合操作 215
6.8.1CreateList:创建列表 215
6.8.2LogList:打印输出列表中的值 216
6.8.3AppendToList:添加元素到列表 216
6.8.4InsertIntoList:插入元素到列表 216
6.8.5CopyList:复制列表 217
6.8.6GetFromList:从列表中取值 217
6.8.7GetIndexFromList:获取列表值对应的索引位置 217
6.8.8ReverseList:反转列表 218
6.8.9SetListValue:设置列表值 218
6.8.10SortList:排序列表 219
6.8.11RemoveFromList:移除列表中指定位置的元素 219
6.8.12RemoveValuesFromList:从列表中移除给定的所有值 219
6.8.13RemoveDuplicates:从列表中移除重复项 220
6.8.14CreateDictionary:创建字典 220
6.8.15LogDictionary:打印字典 220
6.8.16SetToDictionary:添加元素到字典 221
6.8.17CopyDictionary:复制字典 221
6.8.18GetDictionaryItems:获取字典中的所有元素 221
6.8.19GetDictionaryKeys:获取字典中的所有Key值 222
6.8.20GetDictionaryValues:获取字典中的所有Value值 222
6.8.21GetFromDictionary:获取字典中的指定Key值 222
6.8.22PopFromDictionary:删除并返回字典中的指定Key值 222
6.8.23RemoveFromDictionary:删除字典中的指定Key值 223
6.9常用关键字 223
6.9.1Log:打印输出 223
6.9.2LogMany:打印各元素值 224
6.9.3LogToConsole:打印到控制台 225
6.9.4Sleep:延时等待 225
6.9.5Comment:添加注释 226
6.9.6CallMethod:调用方法 226
6.9.7GetCount:获取数量 227
6.9.8GetLength:获取长度 227
6.9.9GetTime:获取时间 227
6.9.10PassExecution:标记测试用例执行成功 229
6.9.11PassExecutionIf:当条件满足时标记测试用例执行成功 229
6.9.12Fail:标记当前测试用例失败 229
6.9.13FatalError:停止执行所有测试用例 230
6.9.14ImportLibrary:导入测试库 230
第3部分 项目实战篇
第7章 基于HTTP接口的自动化测试 234
7.1接口测试扫盲 234
7.1.1接口的本质 234
7.1.2接口有哪些类别 235
7.1.3什么是接口测试 236
7.1.4接口测试的重要性 236
7.1.5接口测试的关注点 237
7.1.6接口测试的介入时机 238
7.1.7接口测试的根本目标 238
7.2开展接口测试的基本流程 239
7.3接口测试用例设计 240
7.3.1三类对象抽象模型 240
7.3.2接口测试三层模型 240
7.3.3接口输入用例设计 241
7.3.4接口逻辑用例设计 243
7.3.5接口输出用例设计 245
7.3.6其他部分用例设计 246
7.3.7一个完整的例子 247
7.3.8小结 250
7.4环境依赖安装 250
7.4.1所需第三方库列表 250
7.4.2安装Requests依赖库 251
7.4.3安装RequestsLibrary依赖库 251
7.4.4安装HttpLibrary.HTTP依赖库 251
7.5接口测试设计规范 252
7.5.1接口测试整体分层结构 252
7.5.2接口测试功能划分原则 254
7.5.3接口测试套件命名约定 255
7.5.4接口测试用例命名与分类 255
7.6接口测试项目实战:最佳实践 257
7.6.1实战项目接口分析 257
7.6.2实战项目框架设计 260
7.6.3实战项目业务分层 262
7.6.4实战项目模块划分 264
7.6.5公共请求方法 265
7.6.6业务资源文件 271
7.7接口测试项目实战:用例设计 273
7.7.1实战一:登录型接口功能测试设计 274
7.7.2实战二:列表型接口功能测试设计 286
7.7.3实战三:信息型接口功能测试设计 295
7.7.4实战四:基于业务场景下的接口组合测试设计 301
7.8接口测试项目实战:成果展示 307
7.9RobotFramework实战常用技巧 308
7.9.1一套测试用例支持多个环境运行 309
7.9.2测试用例标签分类策略 311
7.9.3测试套件和测试用例Hook 313
7.9.4动态构造测试数据 315
7.9.5自定义Python方法 317
7.10RobotFramework开发系统关键字 319
7.11RobotFramework+GitLab代码管理 323
7.12RobotFramework+Jenkins构建持续集成 324
7.12.1Jenkins环境搭建 325
7.12.2RobotFrameworkJenkins插件安装 327
7.12.3添加运行节点Slave 328
7.12.4RobotFramework+Job接口自动化测试配置 332
7.12.5RobotFramework+Job测试构建及结果查看 336
第8章基于Selenium的WebUI自动化测试 339
8.1Selenium框架介绍 339
8.1.1Selenium是什么 339
8.1.2Selenium与RobotFramework的关系 339
8.2环境安装 340
8.2.1安装依赖库 340
8.2.2查看库版本 340
8.3第一个示例 340
8.3.1打开RIDE 341
8.3.2创建项目 341
8.3.3创建测试套件 342
8.3.4创建测试用例 342
8.3.5编写测试用例 343
8.3.6运行及查看结果 344
8.4常用关键字 346
8.4.1浏览器操作 346
8.4.2iFrame操作 347
8.4.3输入操作 347
8.4.4单击元素操作 348
8.4.5属性获取 349
8.4.6元素等待操作 349
8.4.7预期结果校验 350
8.4.8Cookie操作 351
8.4.9其他常用关键字 352
8.4.10小结 352
8.5元素定位 353
8.5.1常用定位工具 353
8.5.2常用定位方法 355
8.6多浏览器处理 357
8.6.1Chrome浏览器 357
8.6.2Firefox浏览器 358
8.6.3Safari浏览器 360
8.6.4PhantomJS浏览器 362
8.7RobotFramework+SeleniumWebUI自动化测试项目实战 363
8.7.1实战项目背景说明 363
8.7.2 WebUI项目分层设计 365
8.7.3实战一:WebUI登录类测试设计 367
8.7.4实战二:WebUI应用类测试设计 372
8.7.5实战三:WebUI列表类测试设计 376
8.7.6小结 379
第9章基于Appium的移动端自动化测试 381
9.1Appium框架介绍 381
9.1.1Appium是什么 381
9.1.2Appium常见概念 382
9.1.3Appium工作原理 383
9.1.4Appium与RobotFramework的关系 385
9.2环境搭建 385
9.2.1Android自动化测试所需环境搭建 385
9.2.2Appium框架所需环境搭建 388
9.2.3iOS自动化测试所需环境搭建 391
9.3AppiumDesktop使用介绍 393
9.3.1AppiumDesktop的安装 393
9.3.2AppiumDesktop的功能介绍 393
9.4RobotFramework+Appium开展Android自动化测试 400
9.4.1需要了解的ADB知识 400
9.4.2获取Android设备序列号 402
9.4.3获取App包名和Activity名 403
9.4.4第一个AppiumAndroid自动化测试示例 406
9.4.5获取AndroidApp控件元素的方法 408
9.4.6AndroidApp元素常用定位方式 411
9.4.7AppiumLibrary常用关键字 413
9.4.8Android自动化测试实战:前期准备 414
9.4.9Android自动化测试实战:项目结构设计 416
9.4.10Android自动化测试实战:公共关键字设计 418
9.4.11实战一:实现AndroidApp自动登录测试 420
9.4.12实战二:测试AndroidApp同页面的多个同类型元素 423
9.4.13实战三:获取并断言AndroidAppToast提示信息 427
9.4.14小结 428
9.5RobotFramework+Appium开展iOS自动化测试 429
9.5.1iOS开发证书、描述文件与BundleID的关系 430
9.5.2iOS产出物的几种格式 431
9.5.3获取iOS设备的UDID和AppBundleID 432
9.5.4iOS常用命令 434
9.5.5iOS模拟器的安装和使用 435
9.5.6iOS模拟器simctl常用命令 437
9.5.7Appium安装配置WebDriverAgent 439
9.5.8获取iOSApp控件元素的三种方法 444
9.5.9iOSApp元素常用定位方式 448
9.5.10第一个AppiumiOS模拟器自动化测试示例 450
9.5.11第一个AppiumiOS真机自动化测试示例 452
9.5.12RobotFramework+Appium实现iOS模拟器自动化测试 454
9.5.13RobotFramework+Appium实现iOS真机自动化测试 459
9.5.14小结 464
9.6Appium+Python开展H5混合应用自动化测试 465
9.6.1在混合应用中识别H5页面的几种方法 465
9.6.2混合应用元素定位整体思路 467
9.6.3AppWebView调试模式的检查和开启 467
9.6.4利用DevTools远程调试WebView 468
9.6.5一个Appium+PythonH5自动化测试示例 469
9.6.6小结 475
9.7RobotFramework+Appium开展小程序自动化测试 476
9.7.1小程序和H5的区别 476
9.7.2一个Appium+Python小程序自动化测试示例 477
9.7.3RobotFramework+Appium实现小程序自动化测试 480
9.8本章总结 486
第4部分 扩展篇
第10章RobotFramework框架部分源码解析 490
10.1RobotFramework框架目录结构 490
10.1.1RobotFramework源码位置 490
10.1.2RobotFramework源码目录结构 492
10.2RobotFramework执行用例逻辑分析 500
10.3RobotFramework二次开发—命令行实时显示日志 511