logo资料库

Python web接口开发与测试.pdf

第1页 / 共256页
第2页 / 共256页
第3页 / 共256页
第4页 / 共256页
第5页 / 共256页
第6页 / 共256页
第7页 / 共256页
第8页 / 共256页
资料共256页,剩余部分请下载后查看
Python Web接口开发与测试
(电子版)
第一章Python学习必知
1.1 Python2.x与Python3.x选择
1.2 Python的安装
1.2.1 Window下安装Python
1.2.2 安装Python2.x和Python3.x两个版本
1.2.3 ‘python’不是内部或外部命令
1.3 安装Python扩展库
1.3.1 pip安装扩展库
1.3.2 tar.gz文件安装
1.3.3 whl文件安装
1.4 Python开发工具选择
1.4.1 Python IDLE
1.4.2 Sublime Text3
1.4.3 PyCharm
1.4.4 Atom
1.5 Python程序报错不要慌
1.5.1 缩进错误
1.5.2 引包错误
1.5.3 编码错误
1.5.4 学会分析错误
本章小节
第二章Django入门
2.1 Django开发环境
2.1.1 Windows安装Django
2.1.2 Ubuntu下安装Django
2.2 开始第一个demo
2.2.1、创建项目与应用
2.2.2、运行项目
2.2.3、Hello Django!
2.2.4、使用模板
2.3 Django工作流
2.3.1、URL组成
2.3.2、urls的配置
2.3.3、views视图
2.3.4、templates模板
2.4 MTV开发模式
第三章 Django视图
3.1 来写个登录
3.1.1、GET与POST请求
3.1.2、处理登录请求
3.1.3、登录成功页
3.2 Cookie和Session
3.2.1、Cookie的使用
3.2.2、Session的使用
3.3 Django认证系统
3.3.1、登录Admin后台
3.3.2、引用Django认证登录
3.3.3、关上窗户
第四章 Django模型
4.1 设计系统表
4.2 admin后台管理
4.3 基本数据访问
4.3.1、插入数据
4.3.2、查询数据
4.3.3、删除数据
4.3.4、更新数据
4.4 SQLite管理工具
4.4.1、SQLi
4.4.2、SQLi
4.5 配置MySQL
4.5.1、安装MySQL
4.5.2、安装PyMySQL
4.5.3、Django配置MySQL
4.5.4、MySQL管理工具
第五章 Django模板
5.1 Django-bootstrap3
5.2 发布会管理
5.2.1、发布会列表
5.2.2、发布会搜索
5.3 嘉宾管理
5.3.1、嘉宾列表
5.3.2、分页器
5.4 签到功能
5.4.1、添加签到链接
5.4.2、签到页面
5.4.3、签到动作
5.5 退出系统
第六章 Django测试
6.1 unittest framework
6.2 Testing in Django
6.2.1、A simple example
6.2.2、Run test case
6.3 The test views
6.3.1、Test Index
6.3.2、Test Login action
6.3.3、Test Event Manage
6.3.4、Test Guest Manage
6.3.5、Test User Sign
第七章 接口相关概念
7.1 分层的自动化测试
7.2 单元测试与模块测试
7.3 接口测试
7.3.1 接口的分类
7.3.2 接口测试的意义
7.4 编程语言中的Interface
7.4.1、Java中的Interface
7.4.2、Python中的Zope.interface
第八章 开发Web接口
8.1 HTTP协议与JSON
8.1.1、HTTP协议
8.1.2、JSON
8.2 什么是Web接口
8.3 开发系统的Web接口
8.3.1、发布会添加接口
8.3.2、发布会查询接口
8.3.3、嘉宾添加接口
8.3.4、嘉宾查询接口
8.3.5、嘉宾签到接口
8.3.6、配置接口路径
8.4 编写Web接口文档
第九章 接口测试工具介绍
9.1 Poster与Postman
9.1.1、Poster
9.1.2、Postman
9.2 Jmeter测试工具
9.2.1、安装Jmeter
9.2.2、添加HTTP接口测试
9.2.3、添加GET/POST请求
9.2.4、添加断言
9.3 Robot Framework测试框架
9.3.1、环境搭建
9.3.2、基本概念与用法
9.3.3、接口测试
本章小节
第十章 接口测试框架设计
10.1、接口测试工具的不足
10.2、接口自动化测试设计
10.3、Request库
10.3.1、安装与例子
10.3.2、接口测试
10.3.2、接口自动化测试
10.4 接口自动化测试框架实现
10.4.2、框架结构介绍
10.4.1、数据库配置
10.4.3、代码实现
第十一章 接口的安全机制
11.1 用户认证
11.1.1、开发带Auth接口
11.1.2、编写接口文档
11.1.3、测试接口
11.2 数字签名
11.2.1、开发接口
11.2.2、编写接口文档
11.2.3、编写接口用例
11.3 接口加密
11.3.1、PyCrypto库
11.3.2、AES加密接口开发
11.3.3、编写接口文档
11.3.4、补充接口测试用例
本章小节
第十二章 Web Service
12.1 Web Service相关概念
12.2 Web Service开发与调用
12.2.1、suds-jurko调用接口
12.2.2、spyne开发接口
12.3 Jmeter测试SOAP接口
第十三章 REST
13.1 RPC与REST
13.2 Django-REST-Framework
13.2.1、创建简单的API
13.2.2、添加接口数据
13.2.3、测试接口
13.3 集成发布会系统API
13.3.1、添加发布会API
13.3.2、测试接口
13.4 soapUI测试工具
13.4.1、soapUI安装
13.4.2、创建SOAP测试项目
13.4.3、创建REST测试项目
虫师原创----http://fnng.cnblogs.com Python Web 接口开发与测试 (电子版) 作者:虫师 1
目录 虫师原创----http://fnng.cnblogs.com 第一章 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 pip 安装扩展库.....................................................................................................................................13 1.3.1 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 2
虫师原创----http://fnng.cnblogs.com 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 3
虫师原创----http://fnng.cnblogs.com 9.2 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 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 4
虫师原创----http://fnng.cnblogs.com 12.3 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 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 soapUI 测试工具......................................................................................................................................... 251 13.4.1、soapUI 安装...................................................................................................................................... 251 13.4.2、创建 SOAP 测试项目...................................................................................................................... 252 13.4.3、创建 REST 测试项目.......................................................................................................................254 13.4 5
虫师原创----http://fnng.cnblogs.com 前言 为什么学习本书: 是否想学习 web 开发而找不到很好的入门教程。 是否想做一个漂亮的网站出来炫耀。 是否很想知道当你点击一个按钮后,程序到底经过哪些过程把你想要的页面展现在你面前。 是否想告诉别人,不就是开发嘛,我也会。 是否想知道接口到底是什么,如何对它进行测试。 为什么是 Django? 我们总是很难去决定一件事情。比如,我到底该学 Java 呢还是 C# 呢? 到底测试的工资高还是开发的 高?我学习了 Python 之后,想学习 web 开发,是 Django 还是 Flask 好学、强大和灵活? 搞 Java 开发的老程序员会告诉你,他只需要几周时间就可以学会用 C#开发程序。反之也是一样。一直 用 Flask 写 web 的应用同学有一天突然想换成 Django 来开发 web 应用,结果看了一下 Django 的文档就开始写 代码了。 好吧!选择总会有理由,我的理由很简单,只是因为 Django 资料更丰富,当遇到了问题更容易找到答案。 为什么是接口测试? 接口常被开发人员挂在嘴边,在开发过程中无处不在,但对于测试人员来说,它又如此朦胧,无形无色 无味,难以触碰。但它到底是什么?如何对它进行测试?一直是困扰许多测试新手的问题。之所以看不清接 口是什么,主要是因为我们不了解应用是如何被开发出来的。 所以,对于想学接口测试的同学,我都建议他们学习一下 web 开发,当然,我们目的不是想抢程序员的 饭碗,如果,你愿意,在学完本书后也未尝不可。 时间在哪里? 不要总是想着,等我有时间了可以去好好的学学 xx,时间是挤出来的。不要只停留在想上面,从现在开 始动手开始学习吧。 2016 年 5 月 虫师 6
虫师原创----http://fnng.cnblogs.com 更新: 新的版本加量不少,前面添加 Python 基础,主要帮助新手在初次接触 Python 时一些基础问题的解决。 最后添加了 Web Service 接口开发与测试与接口测试工具介绍。Web Service 一章详细介绍了各种相关概念, 让你真正理清什么是 Web Service ,并了解它的开发与测试。接口测试工具介绍,满满的干货。瞬间让你学会 主流接口测试工具的使用。 2016 年 6 月 虫师 更新: 将各个章节散乱的例子(个人博客、图书管理、投票系统)全部替换,统一使用发布会签到系统,并且 作为一个较为完整的项目包括前端和后台,包括项目接口开发与测试用例,各种安全的接口开发与测试。以 及接口测试框架。 更新: 2016 年 8 月 虫师 整体上这一版变动不大,主要改动在 6~13 章,第 6、7 章部分概念重新解释。删除第 9 章 Requests 的使 用,请读者参考官方文档学习。重写了 Robot Framework 的使用,最后,增加了 soapUI 工具的简单使用。 2016 年 10 月 虫师 更新: 经过一个多月的改错,全书的错误减少了很多。电子版完结。除了错别字外,不再改动或添加任何内容。 2016 年 11 月 虫师 7
第一章 Python 学习必知 虫师原创----http://fnng.cnblogs.com 本书中所介绍的技术是以 Python 编程语言为基础的,所以,在阅读本书之前要求读者具备一定的 Python 语言编程能力。从我个人学习 Python 的经历,以及帮助别人解答 Python 问题的经历看来,对于初学 Python 的人来说,遇到的大多问题并不是 Python 的语法,如果读者稍有编程语言基础,那么将会很容易就能学会 Python 的语法,而且对于这方法的学习,我们可以轻松的找到大量的文章、书籍和视频教程等。然而,他们 问的更多的问题是 Python 版本的选择、环境的设置、第三方扩展库的安装、IDE 的选择、以及遇到程序报错 之后的解决等。那么,本章将试着帮你弄清这些问题,使你后续 Python 学习过程变得更加顺畅。 1.1 Python2.x 与 Python3.x 选择 对于想要学习 Python 的同学来说首先要面对的就是版本选择的问题,到底是学习 Python2.x 还是学习 Python3.x?之所以会有这样的疑问主要归结于 Python 语言发展的历史遗留问题导致。 Python 语言早在 1989 由 Guido van Rossum 开发,第一个公开发行版发行于 1991 年。因为早期的 Python 版本在基础方面设计存在着一些不足之处。在 2008 年的时候 Guido van Rossum 又重新开发 Python 3.0,Python3 在设计的时候很好地解决了这些遗留问题,并且在性能上也有了一定的提升,然而 Python3 带来的最大的问题 就是不完全向后兼容,当时向后兼容的版本是 Python2.6。因为经过多年的发展,Python 已经是一门非常成熟 的语言了,大量的项目在使用 Python 语言运行,围绕着 Python 语言有着极其丰富的类库。无法一下子就让所 有项目和类库都转到 Python3.0 上面。所以,两个版本就进入了长期并行开发和维护的状态。 正是由于官方对 Python2.x 纵容的态度,致使到目前为止,Python2 的使用者依然过半。从近两年来看, 官方的态度有所改变,Python2.x 的开发进入消极状态,版本更新速度明显要比 Python3.x 慢得多,而且不再加 入新的特性,以维护为主。所以,这将非常有利于 Python3 的发展,那么对于新手来说,我建议读者直接学习 Python3.x,因为 Python3.x 代表了 Python 发展的未来;而且目前主流的库基本都已经支持了 Python3.x,不支 持的库也在积极的向 Python3.x 迁移。那么,在本书中除非特别声明,否则默认情况所有代码将在 Python3.x 下运行。 注:Python3.x 和 Python2.x ,其中 x 表示小版本号。例如,当前 Python 最新的两个版本分别为 Python3.5.2 和 Python2.7.12。 1.2 Python 的安装 Python 的安装相当简单,我相信这这难不倒你,但是仍然有一些细节需要注意。 8
分享到:
收藏