虫师原创
----http://fnng.cnblogs.com
1
作者:虫师
Python Web
接口开发与测试
(电子版)
虫师原创
----http://fnng.cnblogs.com
2
目录
第一章 Python 学习必知....................................................................................................................................................8
1.1 Python2.x 与 Python3.x 选择............................................................................................................................8
1.2 Python 的安装....................................................................................................................................................8
1.2.1 Window 下安装 Python..........................................................................................................................9
1.2.2 安装 Python2.x 和 Python3.x 两个版本..............................................................................................10
1.2.3 ‘python’不是内部或外部命令......................................................................................................... 12
1.3 安装 Python 扩展库........................................................................................................................................ 13
1.3.1 pip 安装扩展库.....................................................................................................................................13
1.3.2 tar.gz 文件安装.....................................................................................................................................16
1.3.3 whl 文件安装........................................................................................................................................16
1.4 Python 开发工具选择..................................................................................................................................... 16
1.4.1 Python IDLE......................................................................................................................................... 16
1.4.2 Sublime Text3....................................................................................................................................... 18
1.4.3 PyCharm................................................................................................................................................19
1.4.4 Atom......................................................................................................................................................20
1.5 Python 程序报错不要慌................................................................................................................................. 21
1.5.1 缩进错误...............................................................................................................................................21
1.5.2 引包错误...............................................................................................................................................22
1.5.3 编码错误...............................................................................................................................................23
1.5.4 学会分析错误.......................................................................................................................................23
本章小节...................................................................................................................................................................25
第二章 Django 入门......................................................................................................................................................... 26
2.1 Django 开发环境.............................................................................................................................................26
2.1.1 Windows 安装 Django..........................................................................................................................26
2.1.2 Ubuntu 下安装 Django.........................................................................................................................27
2.2 开始第一个 demo............................................................................................................................................28
2.2.1、创建项目与应用...................................................................................................................................28
2.2.2、运行项目...............................................................................................................................................32
2.2.3、Hello Django!.....................................................................................................................................34
2.2.4、使用模板...............................................................................................................................................37
2.3 Django 工作流.................................................................................................................................................37
2.3.1、URL 组成..............................................................................................................................................38
2.3.2、urls 的配置............................................................................................................................................39
2.3.3、views 视图............................................................................................................................................ 40
2.3.4、templates 模板...................................................................................................................................... 41
2.4 MTV 开发模式................................................................................................................................................41
第三章 Django 视图........................................................................................................................................................43
3.1 来写个登录......................................................................................................................................................43
3.1.1、GET 与 POST 请求..............................................................................................................................44
3.1.2、处理登录请求.......................................................................................................................................47
3.1.3、登录成功页...........................................................................................................................................49
3.2 Cookie 和 Session............................................................................................................................................51
3.2.1、Cookie 的使用...................................................................................................................................... 51
3.2.2、Session 的使用......................................................................................................................................53
3.3 Django 认证系统.............................................................................................................................................55
3.3.1、登录 Admin 后台..................................................................................................................................55
虫师原创
----http://fnng.cnblogs.com
3
3.3.2、引用 Django 认证登录.........................................................................................................................56
3.3.3、关上窗户...............................................................................................................................................57
第四章 Django 模型....................................................................................................................................................... 59
4.1 设计系统表......................................................................................................................................................59
4.2 admin 后台管理...............................................................................................................................................62
4.3 基本数据访问..................................................................................................................................................65
4.3.1、插入数据...............................................................................................................................................66
4.3.2、查询数据...............................................................................................................................................67
4.3.3、删除数据...............................................................................................................................................69
4.3.4、更新数据...............................................................................................................................................69
4.4 SQLite 管理工具............................................................................................................................................. 70
4.4.1、SQLiteManager.....................................................................................................................................70
4.4.2、SQLiteStudio.........................................................................................................................................71
4.5 配置 MySQL....................................................................................................................................................72
4.5.1、安装 MySQL.........................................................................................................................................72
4.5.2、安装 PyMySQL.................................................................................................................................... 75
4.5.3、Django 配置 MySQL............................................................................................................................76
4.5.4、MySQL 管理工具.................................................................................................................................79
第五章 Django 模板........................................................................................................................................................81
5.1 Django-bootstrap3............................................................................................................................................81
5.2 发布会管理......................................................................................................................................................82
5.2.1、发布会列表...........................................................................................................................................82
5.2.2、发布会搜索...........................................................................................................................................86
5.3 嘉宾管理..........................................................................................................................................................88
5.3.1、嘉宾列表...............................................................................................................................................88
5.3.2、分页器...................................................................................................................................................92
5.4 签到功能..........................................................................................................................................................95
5.4.1、添加签到链接.......................................................................................................................................96
5.4.2、签到页面...............................................................................................................................................97
5.4.3、签到动作...............................................................................................................................................99
5.5 退出系统........................................................................................................................................................102
第六章 Django 测试......................................................................................................................................................104
6.1 unittest framework......................................................................................................................................... 104
6.2 Testing in Django........................................................................................................................................... 108
6.2.1、A simple example................................................................................................................................108
6.2.2、Run test case........................................................................................................................................111
6.3 The test views.................................................................................................................................................112
6.3.1、Test Index............................................................................................................................................ 113
6.3.2、Test Login action.................................................................................................................................114
6.3.3、Test Event Manage..............................................................................................................................115
6.3.4、Test Guest Manage..............................................................................................................................116
6.3.5、Test User Sign..................................................................................................................................... 117
第七章 接口相关概念...................................................................................................................................................120
7.1 分层的自动化测试........................................................................................................................................120
7.2 单元测试与模块测试....................................................................................................................................121
7.3 接口测试........................................................................................................................................................122
7.3.1 接口的分类.........................................................................................................................................123
7.3.2 接口测试的意义.................................................................................................................................124
7.4 编程语言中的 Interface................................................................................................................................ 125
7.4.1、Java 中的 Interface............................................................................................................................. 125
虫师原创
----http://fnng.cnblogs.com
4
7.4.2、Python 中的 Zope.interface................................................................................................................128
第八章 开发 Web 接口..................................................................................................................................................130
8.1 HTTP 协议与 JSON...................................................................................................................................... 132
8.1.1、HTTP 协议..........................................................................................................................................132
8.1.2、JSON................................................................................................................................................... 135
8.2 什么是 Web 接口...........................................................................................................................................136
8.3 开发系统的 Web 接口.................................................................................................................................. 137
8.3.1、发布会添加接口.................................................................................................................................137
8.3.2、发布会查询接口.................................................................................................................................139
8.3.3、嘉宾添加接口.....................................................................................................................................140
8.3.4、嘉宾查询接口.....................................................................................................................................142
8.3.5、嘉宾签到接口.....................................................................................................................................143
8.3.6、配置接口路径.....................................................................................................................................145
8.4 编写 Web 接口文档.......................................................................................................................................146
第九章 接口测试工具介绍...........................................................................................................................................151
9.1 Poster 与 Postman..........................................................................................................................................151
9.1.1、Poster...................................................................................................................................................151
9.1.2、Postman...............................................................................................................................................154
9.2 Jmeter 测试工具............................................................................................................................................156
9.2.1、安装 Jmeter.........................................................................................................................................156
9.2.2、添加 HTTP 接口测试.........................................................................................................................157
9.2.3、添加 GET/POST 请求........................................................................................................................160
9.2.4、添加断言.............................................................................................................................................162
9.3 Robot Framework 测试框架......................................................................................................................... 163
9.3.1、环境搭建.............................................................................................................................................163
9.3.2、基本概念与用法.................................................................................................................................166
9.3.3、接口测试.............................................................................................................................................169
本章小节.................................................................................................................................................................173
第十章 接口测试框架设计...........................................................................................................................................174
10.1、接口测试工具的不足..................................................................................................................................174
10.2、接口自动化测试设计..................................................................................................................................175
10.3、Request 库....................................................................................................................................................176
10.3.1、安装与例子.......................................................................................................................................176
10.3.2、接口测试...........................................................................................................................................177
10.3.2、接口自动化测试...............................................................................................................................178
10.4 接口自动化测试框架实现..........................................................................................................................179
10.4.2、框架结构介绍...................................................................................................................................179
10.4.1、数据库配置.......................................................................................................................................180
10.4.3、代码实现...........................................................................................................................................181
第十一章 接口的安全机制...........................................................................................................................................190
11.1 用户认证......................................................................................................................................................190
11.1.1、开发带 Auth 接口.............................................................................................................................191
11.1.2、编写接口文档...................................................................................................................................194
11.1.3、测试接口...........................................................................................................................................194
11.2 数字签名......................................................................................................................................................196
11.2.1、开发接口...........................................................................................................................................197
11.2.2、编写接口文档...................................................................................................................................200
11.2.3、编写接口用例...................................................................................................................................201
11.3 接口加密......................................................................................................................................................203
虫师原创
----http://fnng.cnblogs.com
5
11.3.1、PyCrypto 库.......................................................................................................................................203
11.3.2、AES 加密接口开发.......................................................................................................................... 206
11.3.3、编写接口文档...................................................................................................................................212
11.3.4、补充接口测试用例...........................................................................................................................214
本章小节.................................................................................................................................................................216
第十二章 Web Service...................................................................................................................................................217
12.1 Web Service 相关概念.................................................................................................................................217
12.2 Web Service 开发与调用............................................................................................................................ 226
12.2.1、suds-jurko 调用接口.........................................................................................................................226
12.2.2、spyne 开发接口................................................................................................................................ 231
12.3 Jmeter 测试 SOAP 接口..............................................................................................................................234
第十三章 REST............................................................................................................................................................. 236
13.1 RPC 与 REST.............................................................................................................................................. 236
13.2 Django-REST-Framework........................................................................................................................... 238
13.2.1、创建简单的 API............................................................................................................................... 239
13.2.2、添加接口数据...................................................................................................................................243
13.2.3、测试接口...........................................................................................................................................245
13.3 集成发布会系统 API.................................................................................................................................. 246
13.3.1、添加发布会 API............................................................................................................................... 246
13.3.2、测试接口...........................................................................................................................................250
13.4 soapUI 测试工具......................................................................................................................................... 251
13.4.1、soapUI 安装...................................................................................................................................... 251
13.4.2、创建 SOAP 测试项目...................................................................................................................... 252
13.4.3、创建 REST 测试项目.......................................................................................................................254