Web接口开发与自动化测试——基于Python语言
  • 推荐0
  • 收藏2
  • 浏览2.1K

Web接口开发与自动化测试——基于Python语言

胡志恒 (作者) 

  • 书  号:978-7-121-31099-7
  • 出版日期:2017-03-30
  • 页  数:288
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:安娜

相关图书

质量全面管控——从项目管理到容灾测试

葛长芝 (作者)

本书专门为有志于软件测试的工程师打开软件测试的大门,笔者结合案例讲解测试实践技术,主要内容有:项目管理、项目需求管理、代码质量控制、自动化部署、软件测试、安全测...

¥49.00

Spring MVC Cookbook中文版

Alex Bretet (作者) 张龙 (译者)

本书由浅入深地介绍了当今流行的Java Web框架Spring MVC的方方面面,从基础的环境搭建到微服务设计与架构,再到持久化、REST API构建、认证与测...

¥69.00

一路编程

Steven Foote (作者) 佟达 (译者)

这是一本编程入门的书,然而,如果以书中所讲内容作为入门标准,估计十有八九的在职程序员都不能算入门。现代软件开发,已经不仅仅是写出正确的代码这么简单,环境、依赖、...

¥65.00

软件自动化测试开发

邹辉 (作者)

本书全面深入地介绍了软件自动化测试开发领域方方面面的相关知识,包括App 功能自动化测试的<br>方案、环境、代码运行及报告(基于Appium 工具和Java ...

¥39.00

Jenkins权威指南

John Ferguson Smart (作者) 郝树伟 (译者)

本书从实践者的角度,在讲解Jenkins基本原理的同时,深入到持续集成、持续交付领域,为读者梳理出如何使用Jenkins设计和实现一个自动化的、周期性的集成测试...

¥89.00

LoadRunner虚拟用户高级开发指南

陈绍英 陈绍英 (作者)

本书主要为LoadRunner 使用人员精通脚本开发,培养LoadRunner 脚本开发专家而创作,LoadRunner使用人员通过系统而全面的学习书中的脚本开...

¥108.00
本书以接口测试为主线,以Web开发为切入点,全面介绍了Web接口开发与自动化测试过程中使用的相关技术。全书分为15章,第1章介绍了Python的基础知识,解答初学Python的同学都会遇到的一些问题;第2章到第5章以开发发布会签到系统为需求,介绍了Django Web开发技术;第6章介绍了unittest单元测试框架,以及在Django中如何编写单元测试;第7章到第10章主要介绍接口的相关概念、Web接口开发、接口测试工具和接口自动化测试框架的开发;第11介绍了安全接口的开发与测试;第12章和第13章介绍了Web Services技术;第14章和第15章介绍了Django Web项目的部署和接口性能测试。
这不仅是一本接口自动化测试书,同时还是一本Django Web入门书
前 言
本书的原型是我整理的一份Django 学习文档。在从事软件测试工作的这六七年里,我
一直有整理学习资料的习惯,这种学习理解再输出的方式对我非常受用,博客和文档是我
主要的输出形式,这些输出同时也帮助到许多软件测试人员。
说回到接口测试的话题上来,根据分层自动化测试的思想,上层为UI 层。关于UI 层
的自动化测试我们已经很熟悉了,许多技术和工具都是围绕这一层来设计的,我们要想做
自动化,首先想到和尝试去做的也是这一层的自动化实现。底层为单元测试,对于单元级
别的自动化测试来说,虽然大多数测试人员并没有真正做过,但我们知道,它一般使用单
元测试框架,通过一段代码去测试另一段代码;而接口测试刚好处于中间层,不太好理解,
也不太好解释,因为在开发的项目中只有程序目录/文件、类、方法、函数这些,并没有一
个叫作“接口”的东西。但是,它却又无处不在,是一个出现频率极高的词,时刻挂在开
发人员的嘴边。
什么是接口?如何对接口进行测试呢?我曾经也有很长一段时间并不太理解什么是接
口测试。为什么没有一本讲接口测试的书呢?性能测试和UI 自动化测试的书籍每年都会出
版好几本,与之相比,几乎找不到一本专门介绍接口测试的书。现在想来可能是因为它太
简单了吧!简单到没什么可讲的,甚至接口测试比功能测试还要简单得多。但是,真的做
好接口测试又很难,或者说难点并不在于接口测试本身,而是需要有读懂接口代码处理逻
辑的能力,这就要求你必须具备一定的开发基础,因而对许多测试人员来说,已经形成了
门槛。
要写一本关于接口测试的书,一种讨巧的做法就是把目前主流的接口测试工具都介绍
一遍,这很符合主题。然而,我并不认为把这些工具都学好就可以做好接口测试。举一个
简单的例子,我的接口使用了加密,例如,用时间戳+密钥生成AES 加密字符串,再将字
符串生成base64 字符串作为接口参数传输,这其实是一种常见的加密策略,而我所了解的
IV ∣ Web 接口开发与自动化测试——基于Python 语言
大多数接口测试工具都无法做到对这种加密接口的测试。原因很简单,加密算法和加密策
略多种多样,而工具却很难模拟这种多样性的加密策略。但是,站在开发的角度上看,接
口测试就很简单了,开发怎么调用,测试就怎么调用呗!只不过测试的目的是验证在传各
种参数的情况下,接口是否可以正确地处理并返回结果。
所以,我选择另一种需要很高学习成本的方法来讲解接口测试,从Web 接口开发讲起,
理解了接口是如何开发的,再做接口测试自然就变得非常简单了。你会看到本书前几章都
是在讲Web 开发以及Web 接口开发,你可能会怀疑自己是不是买错书了,明明是要学习接
口测试的,怎么介绍的都是开发的技术。其实,如果你只是想学习Web 开发的话,那么本
书也是一本不错的入门教程。
本书共分为15 个章节,涵盖了不少话题,这也是我在写作时对自己的要求,不要讲解
太基础的东西,不要讲太多无聊的概念,要有很强的可操作性。第1 章是Python 基础,第
2~5 章是Web 开发,第6 章是单元测试,第7~10 章主要讲接口的概念、开发与测试,第
11 章介绍安全接口的开发与测试,第12~13 章讲Web Service 技术,第14~15 章介绍项目
的部署与性能测试。所以,这并不是一本单纯面向测试人员的书,同样适合开发的小伙伴
阅读。
到了感谢部分,首先,感谢身边的同事,一年多的接口自动化测试实践过程中,我收
获了很多,感谢测试经理唐亮对我们在尝试新技术时的支持,感谢开发组的蓝仕坤、陈晓
发在技术上给了我很大的帮助。其次,感谢接口自动化测试群里的小伙伴,他们给本书提
了很多建议,包括本书的名字,也是在群里投票的结果。再次,感谢我的妻子,她默默地
容忍着我每天晚睡的坏习惯,感谢她一直以来的包容与理解。最后,感谢编辑安娜,没有
她这本书也不会出版,我们合作一直很愉快。
由于作者水平有限,希望你带着怀疑的精神阅读本书,如果发现错误,欢迎批评指正。
2017 年1 月13 号凌晨
虫师

目录

目 录∣ V
目 录
第1 章 Python 学习必知 ............................................................................................................ 1
1.1 Python 2.x 与Python 3.x 选择 ............................................................................... 1
1.2 Python 的安装 ........................................................................................................ 2
1.2.1 在Windows 下安装Python ....................................................................... 2
1.2.2 安装Python 2 和Python 3 两个版本 ........................................................ 3
1.2.3 “python”不是内部或外部命令 ............................................................. 5
1.3 扩展库的安装 ........................................................................................................ 6
1.3.1 pip 安装扩展库 .......................................................................................... 6
1.3.2 tar.gz 文件安装 .......................................................................................... 9
1.3.3 .whl 文件安装 ............................................................................................ 9
1.3.4 GitHub 克隆项目安装 ............................................................................... 9
1.4 开发工具选择 ...................................................................................................... 11
1.4.1 Sublime Text3 ........................................................................................... 11
1.4.2 Atom ......................................................................................................... 13
1.4.3 PyCharm ................................................................................................... 14
1.5 程序报错不要慌 .................................................................................................. 15
1.5.1 缩进错误 .................................................................................................. 15
1.5.2 引包错误 .................................................................................................. 16
1.5.3 编码错误 .................................................................................................. 16
1.5.4 学会分析错误 .......................................................................................... 17
第2 章 Django 入门 ................................................................................................................. 19
2.1 Django 开发环境 .................................................................................................. 19
2.1.1 在Windows 下安装Django .................................................................... 20
VI ∣ Web 接口开发与自动化测试——基于Python 语言
2.1.2 在Ubuntu 下安装Django........................................................................ 20
2.2 开始第一个demo ................................................................................................ 21
2.2.1 创建项目与应用 ...................................................................................... 22
2.2.2 运行项目 .................................................................................................. 25
2.2.3 Hello Django! ......................................................................................... 27
2.2.4 使用模板 .................................................................................................. 29
2.3 Django 工作流 ...................................................................................................... 30
2.3.1 URL 组成 ................................................................................................. 31
2.3.2 URLconf ................................................................................................... 32
2.3.3 views 视图 ................................................................................................ 33
2.3.4 templates 模板 .......................................................................................... 34
2.4 MTV 开发模式 .................................................................................................... 34
第3 章 Django 视图 ................................................................................................................. 36
3.1 来写个登录功能 .................................................................................................. 36
3.1.1 GET 与POST 请求 .................................................................................. 37
3.1.2 处理登录请求 .......................................................................................... 40
3.1.3 登录成功页 .............................................................................................. 42
3.2 Cookie 和Session ................................................................................................. 44
3.2.1 Cookie 的使用 .......................................................................................... 44
3.2.2 Session 的使用 ......................................................................................... 46
3.3 Django 认证系统 .................................................................................................. 49
3.3.1 登录Admin 后台 ..................................................................................... 49
3.3.2 引用Django 认证登录 ............................................................................ 50
3.3.3 关上窗户 .................................................................................................. 51
第4 章 Django 模型 ................................................................................................................. 53
4.1 设计系统表 .......................................................................................................... 53
4.2 admin 后台管理 ................................................................................................... 56
4.3 基本数据访问 ...................................................................................................... 59
4.3.1 插入数据 .................................................................................................. 60
4.3.2 查询数据 .................................................................................................. 61
目 录∣ VII
4.3.3 删除数据 .................................................................................................. 63
4.3.4 更新数据 .................................................................................................. 63
4.4 SQLite 管理工具 .................................................................................................. 64
4.4.1 SQLite Manager ....................................................................................... 64
4.4.2 SQLiteStudio ............................................................................................ 65
4.5 配置MySQL ........................................................................................................ 65
4.5.1 安装MySQL ............................................................................................ 65
4.5.2 MySQL 基本操作 .................................................................................... 67
4.5.3 安装PyMySQL ........................................................................................ 68
4.5.4 在Django 中配置MySQL ...................................................................... 69
4.5.5 MySQL 管理工具 .................................................................................... 72
第5 章 Django 模板 ................................................................................................................. 73
5.1 Django-bootstrap3 ................................................................................................ 73
5.2 发布会管理 .......................................................................................................... 74
5.2.1 发布会列表 .............................................................................................. 74
5.2.2 搜索功能 .................................................................................................. 78
5.3 嘉宾管理 .............................................................................................................. 79
5.3.1 嘉宾列表 .................................................................................................. 80
5.3.2 分页器 ...................................................................................................... 83
5.4 签到功能 .............................................................................................................. 87
5.4.1 添加签到链接 .......................................................................................... 87
5.4.2 签到页面 .................................................................................................. 88
5.4.3 签到动作 .................................................................................................. 91
5.5 退出系统 .............................................................................................................. 93
第6 章 Django 测试 ................................................................................................................. 95
6.1 unittest 单元测试框架 .......................................................................................... 95
6.1.1 单元测试框架 .......................................................................................... 95
6.1.2 编写单元测试用例 .................................................................................. 96
6.2 Django 测试........................................................................................................ 100
6.2.1 一个简单的例子 .................................................................................... 100
VIII ∣ Web 接口开发与自动化测试——基于Python 语言
6.2.2 运行测试用例 ........................................................................................ 102
6.3 客户端测试 ........................................................................................................ 104
6.3.1 测试首页 ................................................................................................ 104
6.3.2 测试登录动作 ........................................................................................ 105
6.3.3 测试发布会管理 .................................................................................... 107
6.3.4 测试嘉宾管理 ........................................................................................ 108
6.3.5 测试用户签到 ........................................................................................ 109
第7 章 接口相关概念 ............................................................................................................. 111
7.1 分层的自动化测试 ............................................................................................ 111
7.2 单元测试与模块测试 ........................................................................................ 112
7.3 接口测试 ............................................................................................................ 114
7.3.1 接口的分类 ............................................................................................ 115
7.3.2 接口测试的意义 .................................................................................... 116
7.4 编程语言中的Interface ..................................................................................... 117
7.4.1 Java 中的Interface ................................................................................. 117
7.4.2 Python 中的Zope.interface .................................................................... 119
第8 章 开发Web 接口 ........................................................................................................... 121
8.1 为何要开发Web 接口 ....................................................................................... 121
8.2 什么是Web 接口 ............................................................................................... 124
8.2.1 HTTP ...................................................................................................... 125
8.2.2 JSON 格式 .............................................................................................. 128
8.3 开发系统Web 接口 ........................................................................................... 129
8.3.1 配置接口路径 ........................................................................................ 129
8.3.2 添加发布会接口 .................................................................................... 130
8.3.3 查询发布会接口 .................................................................................... 132
8.3.4 添加嘉宾接口 ........................................................................................ 133
8.3.5 查询嘉宾接口 ........................................................................................ 135
8.3.6 发布会签到接口 .................................................................................... 136
8.4 编写Web 接口文档 ........................................................................................... 138
目 录∣ IX
第9 章 接口测试工具介绍 ..................................................................................................... 143
9.1 Postman 测试工具 .............................................................................................. 143
9.2 JMeter 测试工具 ................................................................................................ 146
9.2.1 安装JMeter ............................................................................................ 146
9.2.2 创建测试任务 ........................................................................................ 147
9.2.3 添加接口测试 ........................................................................................ 151
9.2.4 添加断言 ................................................................................................ 153
9.3 Robot Framework 测试框架 .............................................................................. 154
9.3.1 环境搭建 ................................................................................................ 155
9.3.2 基本概念与用法 .................................................................................... 157
9.3.3 接口测试 ................................................................................................ 160
第10 章 接口自动化测试框架 ............................................................................................... 165
10.1 接口测试工具的不足 ...................................................................................... 165
10.2 Requests 库 ....................................................................................................... 166
10.2.1 安装 ...................................................................................................... 167
10.2.2 接口测试 .............................................................................................. 167
10.2.3 集成unittest ......................................................................................... 168
10.3 接口测试框架开发 .......................................................................................... 169
10.3.1 框架处理流程 ...................................................................................... 169
10.3.2 框架结构介绍 ...................................................................................... 170
10.3.3 修改数据库配置 .................................................................................. 171
10.3.4 数据库操作封装 .................................................................................. 172
10.3.5 编写接口测试用例 .............................................................................. 176
10.3.6 集成测试报告 ...................................................................................... 178
第11 章 接口的安全机制 ....................................................................................................... 181
11.1 用户认证 .......................................................................................................... 181
11.1.1 开发带Auth 接口 ................................................................................ 182
11.1.2 接口文档 .............................................................................................. 184
11.1.3 接口测试用例 ...................................................................................... 185
X ∣ Web 接口开发与自动化测试——基于Python 语言
11.2 数字签名 .......................................................................................................... 187
11.2.1 开发接口 .............................................................................................. 188
11.2.2 接口文档 .............................................................................................. 191
11.2.3 接口用例 .............................................................................................. 192
11.3 接口加密 .......................................................................................................... 194
11.3.1 PyCrypto 库 .......................................................................................... 194
11.3.2 AES 加密接口开发 .............................................................................. 196
11.3.3 编写接口文档 ...................................................................................... 201
11.3.4 补充接口测试用例 .............................................................................. 202
第12 章 Web Services .......................................................................................................... 205
12.1 Web Services 相关概念 .................................................................................... 205
12.2 Web Services 的开发与调用 ............................................................................ 214
12.2.1 suds-jurko 调用接口 ............................................................................ 214
12.2.2 spyne 开发接口 .................................................................................... 219
12.3 JMeter 测试SOAP 接口 .................................................................................. 221
第13 章 REST ........................................................................................................................ 224
13.1 RPC 与REST ................................................................................................... 224
13.2 Django REST Framework................................................................................. 227
13.2.1 创建简单的API ................................................................................... 227
13.2.2 添加接口数据 ...................................................................................... 231
13.2.3 测试接口 .............................................................................................. 232
13.3 集成发布会系统API ....................................................................................... 234
13.3.1 添加发布会API ................................................................................... 234
13.3.2 测试接口 .............................................................................................. 237
13.4 soapUI 测试工具 .............................................................................................. 238
13.4.1 创建SOAP 测试项目 .......................................................................... 239
13.4.2 创建REST 测试项目 .......................................................................... 241
目 录∣ XI
第14 章 Django 项目部署 ..................................................................................................... 244
14.1 uWSGI .............................................................................................................. 244
14.1.1 uWSGI 介绍 ......................................................................................... 244
14.1.2 安装uWSGI ......................................................................................... 245
14.1.3 uWSGI 运行Django ............................................................................ 246
14.2 Nginx ................................................................................................................ 247
14.2.1 安装Nginx ........................................................................................... 247
14.2.2 Nginx+uWSGI+Django ........................................................................ 248
14.2.3 处理静态资源 ...................................................................................... 251
14.3 创建404 页面 .................................................................................................. 253
第15 章 接口性能测试 ........................................................................................................... 256
15.1 Locust 性能测试工具....................................................................................... 256
15.1.1 安装Locust .......................................................................................... 257
15.1.2 性能测试案例 ...................................................................................... 259
15.2 发布会系统性能测试 ...................................................................................... 262
15.2.1 性能测试准备 ...................................................................................... 263
15.2.2 编写性能测试脚本 .............................................................................. 266
15.2.3 执行性能测试 ...................................................................................... 267
15.3 接口性能测试 .................................................................................................. 270
15.3.1 编写接口性能测试脚本 ...................................................................... 270
15.3.2 执行接口性能测试 .............................................................................. 271
15.3.3 多线程测试接口性能 .......................................................................... 274

读者评论

电子书版本

  • Epub
  • Mobi