新書推薦:
《
城市轨道交通绿色低碳规划设计研究——深圳地铁6号线工程创新与实践
》
售價:NT$
1010.0
《
艾尔米塔什国家博物馆 少年游学 人一生一定要看的博物馆
》
售價:NT$
173.0
《
世界四大博物馆4册套装 卢浮宫大英大都会艾尔米塔什博物馆 青少年游学艺术参观科普书
》
售價:NT$
694.0
《
艺术家之路 塑造插画风格
》
售價:NT$
759.0
《
古乐钩沉(中国音乐学院60周年校庆中青年学者文集)
》
售價:NT$
602.0
《
我和抑郁症的3000天
》
售價:NT$
301.0
《
与骸骨交谈:我希望每一个真相都被发现
》
售價:NT$
347.0
《
人体使用手册3:自愈力的逻辑(全面解读身体面对疾病时的反应逻辑,学习更多有效的系列家庭按摩)
》
售價:NT$
281.0
|
編輯推薦: |
引导测试人员攻克Python入门难点
提供可落地的HTTP协议接口自动化脚本、实实在在的可运行环境
拥有《Python 接口自动化测试》,就拥有整套的源码,按照本书的环境设置,整套源码是完全可运行的
|
內容簡介: |
本书主要介绍如何用Python实现接口自动化测试。全书主要内容包括接口基础、接口手工测试、编程前的准备、用Python处理MySQL数据库、用Python发送HTTP请求、用Python处理HTTP返回包、用Python导出测试数据、接口自动化起航及实际接口场景演示。本书所介绍的方法是作者在实际项目中实践过的,拥有这本书,就拥有了整套的源码。按照本书的环境设置,整套源码是完全可运行的。本书适合初、中级测试工程师,对Python语言感兴趣的人员,以及想要提升技术、突破技术的人员。
|
關於作者: |
王浩然,网名大婶N72,测试技术专家。作者曾在科大讯飞、时代新媒体担任软件测试工程师。从事近7年的自动化测试工作,擅长基于Python语言的自动化测试框架及开发,现在在一家互联网企业中,担任测试开发工程师职位。
|
目錄:
|
目录
1 本书整体设计思想 . 1
1.1 为什么要做懂技术的测试人员 . 2
1.2 为什么选择这本书. 4
1.3 为什么选择Python5
1.4 本书能给你带来什么 . 6
1.5 自动化代码的设计思路 . 6
1.5.1 由手工测试分析出哪些步骤可自动化处理 . 8
1.5.2 以可重复步骤为契机,梳理自动化测试的步骤 . 9
1.5.3 抽象自动化步骤到功能点 . 10
1.6 补充知识点10
1.6.1 什么是面向对象编程中的对象 . 10
1.6.2 什么是面向对象编程中的类 . 11
1.6.3 什么是编程语言中的实例 . 11
1.6.4 自动化测试是不是比手工测试覆盖率高 . 12
1.6.5 什么是自动化测试 . 13
1.6.6 什么是分层自动化测试 . 14
2 接口基础18
2.1 什么是接口19
2.2 接口的分类23
2.3 HTTP 接口 . 24
2.3.1 HTTP 发送请求的方式28
2.3.2 GET 方式和POST 方式的区别29
2.4 接口测试30
2.4.1 什么是接口测试 . 30
2.4.2 为什么要做接口测试 . 30
2.4.3 如何开展接口测试 . 31
2.4.4 前后端交互的契约接口文档32
2.5 接口实例34
2.5.1 前端页面 . 34
2.5.2 数据流图 . 35
2.5.3 逻辑代码 . 39
2.6 补充知识点40
2.6.1 名词解释 . 40
2.6.2 答疑 . 41
3 接口手工测试 . 43
3.1 HTTP 接口工具 . 44
3.2 Fiddler 工具的使用47
3.2.1 Fiddler 工具介绍47
3.2.2 手工调用HTTP 接口 . 48
3.2.3 获取PC 端的网络数据包51
3.2.4 获取手机端的网络数据包 . 52
3.2.5 截包与改包 . 54
3.2.6 Fiddler 工具的其他功能 . 58
3.3 接口手工测试的用例设计 . 59
3.3.1 接口测试用例设计总纲59
3.3.2 接口测试用例设计参数校验59
3.3.3 参数校验SQL 注入 . 62
3.3.4 接口测试用例设计逻辑校验63
3.3.5 接口测试用例设计用例模板64
3.4 补充知识点65
4 编程前的准备67
4.1 Python 环境准备68
4.1.1 选择Python 2 还是Python 368
4.1.2 在Windows 下安装Python 3 . 69
4.1.3 Python 2 和Python 3 共存之道70
4.2 准备本地MySQL 服务 . 71
4.3 补充知识点74
4.3.1 Python 2 与Python 3 的语法区别74
4.3.2 Python 解释器 . 75
4.3.3 Python 的函数 . 75
5 用Python 操作MySQL 数据库77
5.1 提前工作78
5.2 操作MySQL 数据库 . 80
5.2.1 用Python 操作MySQL 数据库的流程 . 80
5.2.2 用Python 操作MySQL 代码 . 81
5.3 本章所涉及的Python 语法 . 95
5.3.1 模块与包 . 95
5.3.2 类 . 99
5.3.3 条件判断 . 104
5.3.4 异常处理 . 106
5.3.5 Python 3 代码注释107
5.4 PyCharm 使用基础109
5.4.1 为什么选择PyCharm . 109
5.4.2 PyCharm 使用基础 . 110
5.5 补充知识点113
5.5.1 MySQLdb 与PyMySQL. 113
5.5.2 Python 命名规则 . 113
5.5.3 self.cur.scroll 源码分析113
5.5.4 主流数据库的分类 . 115
5.5.5 MySQL 的基本语法 . 117
6 用Python 发送HTTP 请求120
6.1 准备工作121
6.2 发送HTTP 请求实例123
6.2.1 用Python 发送HTTP 请求的流程123
6.2.2 用Python 操作HTTP 请求的代码125
6.3 本章所涉及的Python 语法 . 135
6.3.1 数据类型 . 135
6.3.2 方法与函数 . 137
6.3.3 切片 . 140
6.3.4 日志模块logging141
6.4 补充知识点142
6.4.1 Python 的循环机制 . 142
6.4.2 logging . 143
7 用Python 处理HTTP 返回包144
7.1 提前工作145
7.2 处理HTTP 返回包实例 . 145
7.2.1 用Python 处理HTTP 返回包的基础145
7.2.2 用Python 处理HTTP 返回包的流程148
7.2.3 用Python 处理HTTP 返回包的代码150
7.3 本章所涉及的Python 语法 . 161
7.3.1 json 方法 . 161
7.3.2 字典的两个方法 . 162
7.3.3 eval与instance方法 . 163
7.3.4 set方法与issubset方法163
7.4 补充知识点164
7.4.1 Python 的垃圾回收机制 . 164
7.4.2 字符串的startswith和endswith方法166
8 用Python 导出测试数据168
8.1 提前工作169
8.2 用Python 导出测试数据 170
8.2.1 导出测试数据的基础知识170
8.2.2 导出测试数据实例 171
8.3 整体业务流程图176
8.4 补充知识点178
8.4.1 Python 时间戳178
8.4.2 Excel 的操作178
9 接口自动化起航 179
9.1 提前工作180
9.2 代码之外180
9.2.1 初始化数据 180
9.2.2 代码结构图181
9.3 接口自动化起航代码182
9.3.1 业务逻辑梳理 182
9.3.2 代码实例 183
9.4 代码操作步骤188
9.5 补充知识点190
9.5.1 用print 格式化输出 190
9.5.2 数据驱动和关键字驱动191
10 实际接口场景演示192
10.1 提前工作193
10.2 接口举例193
10.3 准备与执行193
10.3.1 设计接口测试用例193
10.3.2 按照接口用例设计准备测试数据 193
10.3.3 在config_total 表中增加执行与导出配置项193
10.3.4 执行main.py 195
附录A 本书用到的Python 代码清单 196
|
內容試閱:
|
前言
本书整体设计思想
自动化测试的前景
软件测试,在大多数的公司中还是处于相对弱势的地位,原因主要在软件测试本身:相比于软件开发,软件测试无论进入门槛还是编程能力,要求都低一些;而且大多数公司的软件测试还局限于手工测试。这就造成了业界对软件测试的偏见软件测试只是随便按一按鼠标,技术含量低。
诚然,软件测试离不开手工测试,但不能只有手工测试没有编程能力。技术性测试的方法有很多,常见的有自动化测试、性能测试、白盒测试、安全性测试等,这些测试方法都需要测试人员有比较强的编程能力。其中,自动化测试的进入门槛较低,但效果最明显,所以,自动化测试可以作为广大测试人员进入技术性测试的切入点。
现阶段,薪资高一些的测试岗位,普遍要求从业人员具有自动化基础及实际操作能力。所以,从就业角度来说,自动化测试是突破测试行业薪资瓶颈的一条捷径;从测试人员的职业发展来说,学习一定的技术,有助于建立技术思维及行业内部的沟通,便于将来继续走测试技术路线,或是转到其他岗位。
本书写作目的
相信很多测试人员和我的经历很像,从最开始的手工测试开始积累经验,在这个过程中肯定想过做自动化测试、做技术。我最开始是用QTP(Quick Test Professional,一种自动测试工具)录制了登录功能,看着浏览器自动打开、自动输入网址、自动登录,那种愉悦的心情是不言而喻的。但是,真正能转型成功(或者说能有一技之长)的测试人员还是偏少的,原因就在于难以突破关键技术点。
各种编程语言本身都有相同点,只要掌握突破了一门,其他语言学起来也就没那么难了。所以,如何突破一门语言,如何跨过第一道门槛,成为制约测试人员技术能力提升的关键点,这也是本书编写的目的引导测试人员突破Python 的入门难点。
为什么要选择Python?最主要的原因是合适。正所谓鞋合不合适只有脚知道。
Python 简单易学的特点,恰好符合测试人员的要求。很多时候,我都在怀疑Python 是不
是专为测试人员量身打造的。关于Python 的更多优势,读者可以在正文中看到。
本书特点
作者在构思本书的时候,也翻阅了市面上很多同类技术书籍,发现绝大多数都有一个通病采用教科书的写作模式。所谓教科书模式,即按照语言的历史语法章节练习案例讲解的模式来展开。这种模式很经典,内容也很翔实,但是太过于死板和理论化。这样的书虽然仔细阅读后确实能收获很多,但是不利于快速上手。
读教科书模式的书时,学习者很容易半途而废,包括我自己,经常是看了不到三分之一的内容就放弃了,所有的新鲜劲都在语法和练习中被消磨殆尽了。我真正开始写脚本并不是从某本书开始的,而是从实际的项目拆分入手的,遇到问题再去翻这类教科书,纯粹将它当作工具书来使用。
所以,本书不是按照传统的教科书模式编写的,而是从实际要实现的目标着手,一步步将目标拆分成知识点,再对知识点进行突破,将每个点拆分成一个个小的突破点类似于拆书帮(某个学习社区)的形式,将Python MySQL 处理HTTP 协议接口的过程拆解到一个个章节中。读者在每个章节中都能学到完整的一个知识点,最后串联各个知识点,实现最终的学习目标。关于如何分解、如何逐个突破,读者可以在正文中看到。
读者通过实现每个章节的功能,逐步建立对Python 的理解,通过小篇幅的功能实现来提升成就感,激发自己继续往下看、继续往下学的信心和勇气。本书所介绍的方法是作者在实际项目中实践过的,并且也被很多业内同行所采用。读者不仅可以将其用在Python 学习中,也可以用在其他语言甚至生活中。
读者对象
? 对Python 感兴趣的人员;
? 想在项目中实现HTTP 协议接口自动化测试的人员;
? 想要提升技术的人员;
? 初、中级测试工程师。
代码下载
本书配套代码的下载地址:https:www.broadview.com.cn 。
有关于任何问题、建议和疑问,欢迎发邮件到:smallprocess@yeah.net
致谢
感谢Guido van Rossum 于1989 年发明了Python。
感谢电子工业出版社审校此书,以及为本书能够快速出版而付出的辛苦。
感谢何飞在本书构思和出版中所做的指导和帮助。没有他的指引就没有本书的出现。
感谢我的家人,感谢你们对我工作的理解和支持,有你们一直的付出才有今天的这本书。
作 者
|
|