本书主要包括两部分内容,第一部分重点介绍Python 的基础知识,让读者可以从零开始入门Python Web 开发测试;第二部分重点介绍Python Web 项目的开发实践,让读者可以一步一步地了解开发一个Python Web 项目的过程。
本书是一本介绍Python Web 测试开发的基础书,从最基础的Python 概念、Python 语法,到最后的Python Web 的项目实践,囊括Python Web 测试开发所需的基础知识和实践方法,非常适合准备转型PythonWeb 测试开发的人员。
同时,本书也介绍了Python 语言的一些高级特性,如语法糖、内置表达式、魔法属性等。因此本书也是一本Python 进阶教程,适合那些已经掌握一定的Python 基础知识、希望提升Python 编程能力的读者。
最后,本书一以贯之地以实践为主旨,除了介绍Python 语法知识之外,更多地关注Python 语言的实践。例如,第一部分会提供一些练习题,还会有专门的章节来介绍如何学习和使用Python 的类库;而第二部分则重点介绍实践项目。所以本书也很适合那些掌握了Python 知识却没有Python Web 项目实践经验的读者。
1.资深测试开发专家撰写,凝聚自己多年开发经验,系统且深入阐释利用Python进行Web自动化测试涉及的方法和实践。
2. 作者提供售后服务,有QQ群答疑。
3. 作者有公众号和博客,持续更新测试方面的内容。
陈晓伍 Python爱好者、测试开发工程师;曾就职于新浪、当当,现就职于于汽车之家商业技术中心。出版过《Python Web自动化测试设计与实现》。
第 1 章 Python 基础..................................1
1.1 Python 溯源................................................1
1.1.1 Python 的由来....................................1
1.1.2 Python 的特点....................................1
1.1.3 Python 的应用....................................2
1.1.4 Python 的版本....................................3
1.2 Python 环境安装........................................4
1.2.1 Windows 环境安装.............................4
1.2.2 Linux 环境安装..................................5
1.2.3 多版本环境安装.................................6
1.2.4 Python 第三方库安装.........................8
1.2.5 Python 虚拟环境安装.......................10
1.2.6 PyCharm 开发环境安装...................11
第 2 章 Python 语法................................17
2.1 初识Python..............................................17
2.1.1 Python 执行环境..............................17
2.1.2 Python 执行方式..............................18
2.2 基础语法..................................................18
2.2.1 语法格式说明...................................18
2.2.2 基本数据类型...................................22
2.2.3 变量与常量.......................................27
2.2.4 运算符与表达式...............................28
2.3 逻辑控制语句..........................................36
2.3.1 if-else 语句.......................................36
2.3.2 for 语句.............................................37
2.3.3 while 语句.........................................37
2.3.4 continue 语句....................................38
2.3.5 break 语句.........................................38
2.3.6 pass 语句...........................................39
2.4 数据结构介绍..........................................40
2.4.1 列表...................................................40
2.4.2 元组...................................................44
2.4.3 字典...................................................45
2.4.4 字符串...............................................47
2.5 函数介绍..................................................55
2.5.1 函数定义...........................................55
2.5.2 匿名函数...........................................57
2.5.3 内置函数介绍...................................58
2.6 类与对象..................................................65
2.6.1 类的定义...........................................65
2.6.2 模块与包...........................................73
2.6.3 标准库介绍.......................................74
2.7 异常处理..................................................75
2.7.1 异常捕获与处理...............................75
2.7.2 异常抛出与分类...............................78
2.7.3 自定义异常.......................................79
2.7.4 异常妙用...........................................79
2.8 程序调试..................................................81
2.8.1 交互式...............................................81
2.8.2 调用式...............................................81
2.8.3 注入式...............................................82
2.8.4 Pdb 命令............................................82
第3 章 Python 进阶................................85
3.1 特性语法..................................................85
3.1.1 Pythonic 编程...................................85
3.1.2 推导表达式.......................................88
3.1.3 上下文管理器...................................89
3.1.4 迭代器..............................................94
3.1.5 生成器..............................................96
3.1.6 闭包..................................................98
3.1.7 装饰器............................................100
3.1.8 内省................................................105
3.1.9 语法糖............................................112
3.1.10 魔法方法与属性...........................113
3.2 并发编程................................................ 116
3.2.1 多进程............................................116
3.2.2 多线程............................................122
3.2.3 协程................................................127
3.2.4 异步................................................130
3.3 打包与发布............................................132
3.3.1 打包................................................132
3.3.2 发布................................................137
第4 章 常用库实践...............................138
4.1 日常类库................................................138
4.1.1 sys——解释器模块........................138
4.1.2 os——操作系统模块.....................139
4.1.3 getopt——命令行参数模块...........143
4.1.4 minidom——XML 读写模块.........145
4.1.5 json——读写JSON 模块...............149
4.1.6 openpyxl——读写Excel 模块.......152
4.1.7 logging——日志模块.....................155
4.2 数据存储库............................................160
4.2.1 records——轻量级DB 框架..........160
4.2.2 redis——读写Redis 库..................162
4.2.3 pymongo——读写MongoDB 库....166
4.3 Web 相关库............................................169
4.3.1 requests——HTTP 网络请求库.....169
4.3.2 Flask——Web 开发框架................172
第5 章 Web 前端开发基础...............184
5.1 Vue 框架学习.........................................184
5.1.1 基本使用.........................................184
5.1.2 模板语法.........................................185
5.1.3 表单.................................................192
5.1.4 组件.................................................195
5.1.5 路由.................................................198
5.1.6 AJAX 请求......................................198
5.1.7 vue-cli 脚手架................................200
5.2 案例实战:任务列表............................202
5.2.1 需求说明及分析.............................202
5.2.2 模块及设计.....................................202
5.2.3 数据库设计.....................................203
5.2.4 前端开发.........................................203
5.2.5 后端开发.........................................212
5.2.6 前后端配置.....................................216
第6 章 测试开发实践..........................217
6.1 测试代理服务开发(HProxy)............217
6.1.1 需求说明及分析.............................217
6.1.2 模块及设计.....................................217
6.1.3 数据库设计.....................................218
6.1.4 前端开发.........................................219
6.1.5 后端开发.........................................224
6.2 Mock 服务开发(iMock)....................232
6.2.1 需求说明及分析.............................232
6.2.2 模块及设计.....................................232
6.2.3 数据库设计.....................................233
6.2.4 前端开发.........................................234
6.2.5 后端开发.........................................239
6.3 数据查询服务开发(iData)................248
6.3.1 需求说明及分析.............................248
6.3.2 模块及设计.....................................248
6.3.3 前端开发.........................................249
6.3.4 后端开发.........................................253
6.4 API 测试平台开发(iAPI) .................258
6.4.1 需求说明及分析.............................258
6.4.2 模块及设计.....................................258
6.4.3 数据库设计.....................................259
6.4.4 前端开发.........................................260
6.4.5 后端开发.........................................275
附录...................................................................284
附录1 数据库结构文件..............................284
附录2 整体部署架构..................................286
附录3 Nginx 完整配置样例........................287
附录4 前后端代码仓库汇总.......................288