






								
                            
										  
												框架准备	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
										  
										    
                                    编程不难(全彩图解 + 微课 + Python编程)(鸢尾花数学大系:从加减乘除到机器学习)
                                    2025-11-04