网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 HTTP抓包之接口自动化测试
分类 人文社科-社会科学-语言文字
作者 肖佳
出版社 人民邮电出版社
下载
简介
内容推荐
本书内容来自作者多年从事接口测试的经验总结,贴近实际,能帮助读者解决实际工作中的难题。本书的主要内容有HTTP的基础知识;如何使用Fiddler来抓HTTP包;如何分析HTTP包;如何通过JMeter和Postman等发送HTTP包,从而实现软件自动化测试和接口的自动化测试;如何使用抓包工具来实现安全测试和性能测试等;几个日常生活中应用比较广泛的综合实例。
本书图文并茂、实例丰富,方便读者参考并动手实践,适合前端开发工程师、测试工程师、线上故障技术人员、接口开发人员和Web开发人员阅读。
作者简介
肖佳,Vmware不错测试工程师,博客园知名博主(网名小坦克),《HTTP抓包实战》一书的作者,软件测试培训构“佳猫教育”创始人;从事软件开发测试工作十余年,有丰富的手动测试和自动化测试经验;个人博客阅读量已经超过500万,乐于分享,善于用浅显的语言来讲解技术。
目录
第 1章 抓包的用处\t1
1.1 Fiddler抓包的应用\t1
1.2 学习HTTP\t2
1.2.1 HTTP请求的结构\t3
1.2.2 HTTP响应的结构\t3
1.3 爬虫\t3
1.4 Fiddler在测试中的作用\t5
1.4.1 抓包用于性能测试\t5
1.4.2 抓包用于安全测试\t5
1.4.3 抓包用于接口测试\t6
1.4.4 大量制造测试数据\t6
1.4.5 异常测试\t6
1.4.6 排除故障和定位Bug\t6
1.5 前端开发人员使用Fiddler调试Web\t8
1.5.1 后端接口Mock\t8
1.5.2 AJAX调试\t9
1.5.3 线上调试\t9
1.6 后端开发人员使用Fiddler抓包\t9
1.7 安全测试\t9
1.8 检查网站的简单问题\t10
1.8.1 Fiddler检查404错误\t10
1.8.2 Fiddler检查大响应\t10
1.9 自动化小工具的开发\t11
1.9.1 购票助手\t11
1.9.2 自动申请账号工具\t12
1.9.3 Fiddler找回密码\t12
1.9.4 网络游戏助手\t13
1.10 概念的区别\t13
1.10.1 抓包和录制的区别\t13
1.10.2 自动化测试和爬虫的区别\t13
1.10.3 自动化测试和外挂的区别\t13
1.11 本章小结\t13
第 2章 Fiddler如何抓包\t14
2.1 Fiddler必须要做的3个设置\t14
2.1.1 第 1个设置:在Fiddler中安装证书\t14
2.1.2 第 2个设置:自动解压HTTP响应\t14
2.1.3 第3个设置:隐藏“Tunnel to”请求\t15
2.2 不允许抓包\t16
2.2.1 某些App抓不到包\t16
2.2.2 HTTP请求和响应全部加密\t16
2.2.3 不让抓包\t16
2.3 Fiddler抓不到包\t17
2.3.1 Fiddler的抓包开关\t17
2.3.2 浏览器抓不到包\t17
2.3.3 能抓HTTP不能抓HTTPS的请求\t18
2.3.4 抓不到手机中的包\t19
2.3.5 经过上面的设置,还是抓不到包\t20
2.3.6 在macOS中抓包\t20
2.3.7 Fiddler证书安装不成功\t20
2.3.8 iOS 10.3以上,手动信任证书\t21
2.4 Fiddler包太多找不到自己想要的\t22
2.4.1 停止抓包\t22
2.4.2 只抓手机,不抓本地的包\t22
2.4.3 过滤会话\t23
2.4.4 只抓特定的进程\t23
2.4.5 观察URL和HOST\t23
2.4.6 查看进程发包\t24
2.5 HTTPS是否安全\t24
2.6 计算机连接手机热点抓包\t24
2.7 用Fiddler测试App升级\t25
2.7.1 App升级原理\t25
2.7.2 App升级的测试\t26
2.7.3 坚果云的升级\t26
2.8 短链接\t27
2.8.1 短链接原理解析\t27
2.8.2 使用短链接\t27
2.8.3 用Fiddler抓包短链接\t28
2.9 本章小结\t28
第3章 Session分类和查询\t29
3.1 Session的概念\t29
3.2 为什么Fiddler中有这么多Session\t29
3.3 Session的类型\t30
3.4 搜索Session\t31
3.4.1 搜索登录的会话\t31
3.4.2 在请求搜索框中搜索\t32
3.5 用命令行工具查询Session\t32
3.5.1 通过select命令过滤\t32
3.5.2 通过allbut过滤\t33
3.5.3 通过“ ”过滤\t33
3.5.4 通过Session类型的大小来过滤\t34
3.5.5 通过“=HTTP方法”过滤\t35
3.5.6 通过@Host过滤\t35
3.5.7 通过“=状态码”过滤\t35
3.6 给Session下断点\t36
3.6.1 下断点拦截HTTP请求\t36
3.6.2 下断点拦截HTTP响应\t37
3.6.3 及时取消断点\t37
3.7 本章小结\t37
第4章 FiddlerScript的不错用法\t38
4.1 FiddlerScript的界面\t38
4.2 Fiddler的事件函数\t38
4.3 在FiddlerScript中使用正则表达式\t39
4.4 忽略抓包\t39
4.5 显示客户端和服务器的IP\t40
4.6 显示响应时间\t41
4.7 读写本地txt文件\t42
4.8 保存请求\t42
4.9 重新发送请求\t43
4.10 本章小结\t43
第5章 常见的抓包工具\t44
5.1 常见的抓包工具\t44
5.2 浏览器开发者工具\t44
5.2.1 调出开发者工具\t44
5.2.2 用Chrome测试网页加载时间\t45
5.2.3 用Chrome捕获网站登录的POST请求\t45
5.2.4 用Chrome测试接口的响应时间\t46
5.2.5 过滤请求\t47
5.3 vConsole\t47
5.4 Charles抓包工具\t48
5.4.1 Charles工具的安装与使用方法\t48
5.4.2 在Charles中安装根证书\t48
5.4.3 Charles配置规则\t50
5.4.4 用Charles捕捉网站登录的请求\t50
5.5 Wireshark抓包工具\t51
5.5.1 用Wireshark捕捉HTTP\t51
5.5.2 用Wireshark捕捉HTTPS\t53
5.6 本章小结\t55
第6章 用Python发送HTTP请求\t56
6.1 requests框架介绍\t56
6.1.1 在pip中安装requests框架\t56
6.1.2 在PyCharm中安装requests框架\t56
6.2 发送GET请求\t57
6.2.1 用Fiddler捕获Python发出的HTTP请求\t58
6.2.2 发送HTTPS请求\t59
6.2.3 发送带参数的GET请求\t59
6.2.4 发送带信息头的请求\t60
6.3 发送POST请求\t61
6.3.1 发送普通POST请求\t61
6.3.2 发送JSON的POST请求\t61
6.4 会话维持\t62
6.5 用Python发送各种请求\t62
6.6 用Python下载文件\t63
6.6.1 用Python下载图片\t63
6.6.2 用Python下载视频\t63
6.7 本章小结\t63
第7章 用正则表达式提取数据\t64
7.1 正则表达式测试工具\t64
7.2 利用正则表达式提取数据\t64
7.3 提取订单号\t64
7.4 提取token字符串\t66
7.5 从JSON字符串中提取\t67
7.6 提取Cookie字符串\t67
7.7 爬虫提取数据\t68
7.8 本章小结\t68
第8章 HTTP的9种请求方法\t69
8.1 HTTP常见的9种请求方法\t69
8.2 HTTP幂等性\t69
8.3 9种请求方法的特性\t70
8.4 HTTP和数据的增删改查操作的对应关系\t70
8.5 PUT方法\t70
8.5.1 POST方法和PUT方法的区别\t71
8.5.2 PUT方法和POST方法的选择\t71
8.6 DELETE方法\t71
8.7 HEAD方法\t72
8.8 OPTIONS方法\t73
8.9 CONNECT方法\t73
8.10 PATCH方法\t74
8.11 TRACE方法\t74
8.12 本章小结\t75
第9章 内容类型\t76
9.1 Content-Type介绍\t76
9.1.1 Content-Type的格式\t76
9.1.2 常见的Content-Type\t77
9.2 POST提交数据的方式\t77
9.3 3种常见的POST提交数据的方式\t78
9.3.1 application/x-www-form-
urlencoded\t78
9.3.2 application/json\t79
9.3.3 text/xml\t79
9.4 HTTP中的负荷\t79
9.4.1 请求负荷\t80
9.4.2 响应负荷\t81
9.5 错误的POST提交方法\t81
9.6 根据接口文档调用接口实例\t81
9.7 键值对和JSON的混合\t82
9.8 本章小结\t83
第 10章 HTTP上传和下载\t84
10.1 HTTP上传文件的两种方式\t84
10.2 multipart/form-data\t84
10.2.1 对禅道上传图片的操作进行抓包\t85
10.2.2 使用JMeter模拟上传图片\t87
10.2.3 使用Python上传图片\t88
10.3 application/octet-stream\t88
10.3.1 在博客园的文章中上传图片\t88
10.3.2 用JMeter模拟博客园上传图片\t90
10.3.3 用Python模拟博客园上传图片\t91
10.4 用HTTP下载文件\t92
10.4.1 用JMeter下载文件\t92
10.4.2 用Python实现下载文件\t93
10.5 HTTP断点续传\t94
10.5.1 HTTP请求信息头\t94
10.5.2 HTTP分段实例\t94
10.6 本章小结\t95
第 11章 HTTP对各种类型程序的抓包\t96
11.1 用Fiddler抓取视频\t96
11.2 用Fiddler抓音频文件\t97
11.3 用Fiddler抓Flash\t97
11.4 用Fiddler抓公众号\t98
11.5 用Fiddler抓包小程序\t99
11.6 用AJAX抓包\t99
11.7 用Fiddler抓包C#\t100
11.8 用Fiddler抓包Java\t100
11.9 用Fiddler抓包Postman\t101
11.10 用Fiddler捕获macOS\t101
11.11 用Fiddler捕获Linux系统\t103
11.12 用Fiddler抓包坚果云\t103
11.13 本章小结\t104
第 12章 自动登录和登录安全\t105
12.1 登录的较量\t105
12.2 登录的风险\t105
12.2.1 冒用他人账户登录\t106
12.2.2 账户和密码在传输过程中被截获\t106
12.2.3 密码被破解\t106
12.2.4 系统被爬虫软件或者脚本自动登录\t106
12.3 登录的风控\t106
12.4 登录用GET还是POST\t106
12.4.1 GET方法的缺点\t107
12.4.2 POST比GET安全\t107
12.4.3 使用GET方法登录的网站\t108
12.5 安全的原则\t108
12.6 使用POST方法登录的网站\t109
12.7 登录响应携带隐藏的token字符串\t110
12.8 用JavaScript中的MD5给密码加密\t112
12.9 用JavaScript动态加密密码\t114
12.9.1 绕开JS混淆密码\t115
12.9.2 JS混淆密码总结\t116
12.10 短信验证码登录\t116
12.11 二维码扫码登录\t117
12.12 拼图登录\t117
12.13 普通图片验证登录\t117
12.14 独特的验证方式\t118
12.15 本章小结\t119
第 13章 图片验证码识别\t120
13.1 图片验证码\t120
13.1.1 图片验证码原理\t121
13.1.2 图片识别介绍\t121
13.1.3 Tesseract的安装与使用\t121
13.1.4 Tesseract的使用\t122
13.1.5 pytesseract的使用\t122
13.2 用Python实现图片验证码登录\t123
13.3 本章小结\t124
第 14章 综合实例——自动点赞\t125
14.1 给文章自动点赞\t125
14.1.1 拼图验证方式\t125
14.1.2 直接使用Cookie绕过登录\t126
14.1.3 分析点赞的HTTP请求\t126
14.2 用JMeter实现博客园文章自动点赞\t129
14.3 使用Python实现博客园文章自动点赞\t130
14.4 本章小结\t131
第 15章 前端和后端\t132
15.1 Web架构图\t132
15.2 前端开发和后端开发的区别\t133
15.2.1 展示方式不同\t133
15.2.2 运行不同\t133
15.2.3 全栈工程师\t133
15.2.4 前端和后端分离\t134
15.3 前端验证和后端验证\t134
15.3.1 前端验证\t134
15.3.2 后端验证\t135
15.3.3 前端验证和后端验证都需要\t136
15.4 后端验证的Bug\t136
15.5 Fiddler绕过前端实现投票\t137
15.6 后台和后台管理的区别\t138
15.7 本章小结\t139
第 16章 接口和接口测试\t140
16.1 接口的概念\t140
16.1.1 后端接口\t140
16.1.2 在线英语App示例\t141
16.1.3 “我的订单”的前端和接口\t141
16.2 登录接口示例\t142
16.3 接口文档的维护\t143
16.3.1 用Word文档维护\t143
16.3.2 用Wiki页面维护\t143
16.3.3 Swagger\t143
16.3.4 调用接口的方式\t145
16.4 接口测试的工具\t145
16.5 接口测试的本质\t146
16.6 接口测试的目的\t147
16.6.1 接口测试的优势\t147
16.6.2 接口测试是必需的吗\t147
16.6.3 接口测试需要的知识\t148
16.6.4 接口测试的流程\t148
16.6.5 接口测试的测试内容\t148
16.6.6 后端接口和前端测试是否重复\t149
16.7 登录接口的测试用例\t149
16.8 接口测试是自动化测试吗\t149
16.9 如何设计接口测试用例\t150
16.10 接口内部状态码\t151
16.11 本章小结\t152
第 17章 JSON数据格式\t153
17.1 JSON格式在接口中的应用\t153
17.2 JSON的概念\t153
17.3 JSON的应用场合\t153
17.4 JSON的语法\t154
17.5 JSON值的类型\t154
17.6 JSON应该使用双引号\t154
17.7 JSON数组\t155
17.8 JSON的嵌套\t155
17.9 JSON格式错误\t156
17.10 JSON解析工具\t156
17.10.1 在线的解析工具\t156
17.10.2 Notepad++格式化JSON\t156
17.10.3 在JMeter中格式化JSON\t157
17.10.4 在Fiddler中格式化JSON\t157
17.11 拼接JSON字符串\t158
17.12 JMeter中的JSON提取器\t159
17.13 本章小结\t160
第 18章 HTTP和RESTful服务\t161
18.1 什么是RESTful\t161
18.2 RESTful的优点\t162
18.3 RESTful的主要原则\t162
18.3.1 以资源为核心\t162
18.3.2 每个资源分配唯一的URL\t163
18.3.3 通过标准的HTTP(HTTPS)方法操作资源\t163
18.3.4 过滤信息\t164
18.3.5 资源的表现层可以是XML、JSON或者其他\t164
18.3.6 认证机制\t165
18.3.7 错误处理\t165
18.4 本章小结\t165
第 19章 用Postman测试分页接口\t166
19.1 接口介绍\t166
19.2 设计测试用例\t167
19.3 用Postman实现接口自动化\t167
19.3.1 Postman介绍\t167
19.3.2 Postman的使用\t167
19.4 接口测试的发展方向\t170
19.5 本章小结\t170
第 20章 用JMeter测试单个接口\t171
20.1 JMeter介绍\t171
20.2 添加客房接口介绍\t171
20.3 设计接口的测试用例\t172
20.4 JMeter的操作过程\t172
20.5 数据驱动测试\t175
20.6 本章小结\t177
第 21章 接口的token认证\t178
21.1 接口的认证\t178
21.2 token认证\t178
21.2.1 调用天气预报接口\t180
21.2.2 token和Cookie的区别\t181
21.3 token和Cookie一起用\t182
21.4 在JMeter中如何处理token字符串\t182
21.5 接口的三大安全性问题\t185
21.6 请求参数被篡改\t186
21.7 重放攻击\t186
21.7.1 在Fiddler中进行重放攻击\t187
21.7.2 UNIX时间戳\t187
21.7.3 接口带时间戳和签名\t188
21.8 本章小结\t188
第 22章 发包常见的错误\t189
22.1 发包的本质\t189
22.2 对比HTTP请求\t189
22.3 用JMeter发包常见的错误\t190
22.3.1 输入的网址错误\t190
22.3.2 端口号填错\t191
22.3.3 协议错误\t191
22.3.4 变量取值错误\t191
22.3.5 服务器返回404错误\t192
22.3.6 服务器返回400错误\t192
22.3.7 服务器返回500错误\t192
22.4 Postman发包常见问题\t193
22.5 JMeter和Postman的区别\t193
22.6 接口测试寻求帮助\t194
22.7 本章小结\t195
第 23章 秒杀活动的压力测试\t196
23.1 秒杀活动的压力测试方案\t196
23.1.1 秒杀的原理\t196
23.1.2 测试目标\t197
23.1.3 业务分析\t197
23.1.4 测试指标\t197
23.2 使用Fiddler来测试秒杀活动\t198
23.2.1 用Fiddler重新发送HTTP请求\t198
23.2.2 用Fiddler测试秒杀活动的思路\t198
23.2.3 用Fiddler测试优惠券\t199
23.2.4 单线程还是多线程\t201
23.2.5 分辨脚本和用户\t201
23.3 捕获App上的优惠券活动\t201
23.4 使用JMeter来测试秒杀活动\t202
23.5 压力测试报告\t203
23.6 本章小结\t204
第 24章 用Fiddler和JMeter进行 性能测试\t205
24.1 性能测试概述\t205
24.2 Web页面加载时间测试\t206
24.2.1 258原则\t206
24.2.2 实例:博客园页面加载时间测试\t206
24.3 接口的响应时间测试\t208
24.4 视频播放的性能测试\t210
24.5 模拟5个用户同时登录网站\t210
24.6 模拟5个不同的用户同时登录网站\t212
24.7 本章小结\t213
第 25章 HTTP中的支付安全测试\t214
25.1 修改支付价格\t214
25.2 漏洞发生的原因\t215
25.3 支付漏洞的解决方法\t216
25.3.1 前端不传递金额\t216
25.3.2 签名防止数据被篡改\t217
25.4 修改充值金额测试\t217
25.5 多线程提现测试\t218
25.6 转账金额修改测试\t219
25.7 重复支付\t220
25.8 本章小结\t221
第 26章 Web安全渗透测试\t222
26.1 敏感信息泄露测试\t222
26.2 重置密码测试\t222
26.3 修改任意账号的邮箱密码\t225
26.4 Cookie是否是HttpOnly属性\t225
26.5 越权访问漏洞\t226
26.6 资源必须登录才能访问\t227
26.7 修改VIP会员到期时间\t228
26.8 本章小结\t229
第 27章 综合实例——自动提交订单\t230
27.1 背景\t230
27.2 回归测试\t230
27.3 让回归测试自动化\t231
27.4 产品的架构\t231
27.5 自动化测试方案\t231
27.6 哪些测试用例可以自动化\t232
27.7 下单的测试用例\t233
27.8 用JMeter实现自动提交订单\t233
27.9 用Python实现自动提交订单\t236
27.10 用JMeter实现自动取消订单\t237
27.11 用Python实现自动取消订单\t239
27.12 模拟100个用户同时下1000个订单\t240
27.13 本章小结\t241
第 28章 综合实例——自动申请账号\t242
28.1 一键申请账号\t242
28.2 用JMeter实现自动创建用户\t245
28.3 本章小结\t248
第 29章 综合实例——自动签到领积分\t249
29.1 自动签到的思路\t249
29.2 手机抓包\t249
29.3 某电商签到领豆子\t249
29.4 某金融App签到\t251
29.5 自动运行脚本\t252
29.5.1 Python脚本利用Windows计划定时执行\t252
29.5.2 在Jenkins中定时执行\t253
29.6 本章小结\t253
第30章 综合实例——App约课助手\t254
30.1 App约课助手的思路\t254
30.2 自动化方案\t254
30.3 模拟App端还是Web端\t254
30.4 网课约课助手开发\t255
30.4.1 第 1步:模拟登录\t255
30.4.2 第 2步:获取课程ID\t258
30.4.3 第3步:约课\t259
30.5 本章小结\t260
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/14 9:08:02