本篇文章给大家谈谈mock测试抓包工具,以及测试常用抓包工具对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享mock测试抓包工具的知识,其中也会对测试常用抓包工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
抓包工具-Charles(花瓶)
Charles是一个HTTP代理/HTTP monitor/反向代理,它使开发人员能够查看他们的机器和Internet之间所有HTTP/HTTPS通信,这包括请求、响应和HTTP头(其中包含cookie和缓存信息).
1、安装
官网地址: https://www.charlesproxy.com
首先需要给手机设置代理,
设置完成之后,基本就可以开始抓包了;
选中请求选项,右键选择Map Local
在Local path选择自己本地的数据文件即可;下次请求回直接走本地mock数据,如果取消mock,直接把清除Local path路径,输入*号,保存;
下次请求时就可以暂停,出现如下界面,
有一个Edit Request,在这个界面可以增加或删除参数,或者直接双击name或者value进行编辑,修改完参数之后,点击Execute。有返回之后,会出现如下界面
界面中有edit Response,同样可以直接修改,修改完之后,点击Execute,请求就完成了,返回的结果可以直接供前端来使用。
其他功能继续更新...
Fiddler抓包入门
抓包使用场景:
1、用手机APP或浏览器访问一个页面,查看请求的结果是否正确,请求的参数是否正确
2、在不修改任何环境的情况下,修改返回的结果,即通常所说的mock
3、复杂场景:
比如,同一个域名下的请求,/img/xxx的资源发送到ServerA上,请求/api/xxx资源发送到ServerB上
我们使用浏览器或者客户端软件都要与外界进行通信,就必然会有数据的发送和接收,有时候需要对这些传递的数据进行分析,因此需要截获这些传递的数据。
其中对这些数据进行截获、重发、编辑、转存的过程叫做 抓包 。
本地应用与服务器之间所有的Request 和Response都将经过Fiddler,由Fiddler进行转发,此时Fiddler以代理服务器的方式存在。
由于所有的网络数据都会经过Fiddler,因此Fiddler能够截获这些数据,实现网络数据的抓包,可以详细地对HTTP请求进行分析,并模拟对应的HTTP请求。
1、本地化的工具,是一个使用本地 127.0.0.1:8888 的 HTTP 代理
(免费的web调试代理工具,支持任何浏览器、系统或平台)
启动Fiddler后,通过浏览器访问:
(1)任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler
(2)工具打开后,就自动设置了IE浏览器的代理,工具关闭后,IE的设置也将被还原
2、Fiddler本身对http协议支持较好,且操作简单容易上手
3、具有抓包和分析功能,省去了安装其他工具的必要
4、工具本身功能强大
(1)劫包:模拟接口不给前端返回数据,看前端怎么处理,如果没有工具,就只能采用断网、停用服务器
(2)篡改数据:假设没法去模拟前端对于接口返回数据很长时,怎么去展示,换行?截取?小屏幕上页面扭曲?如果通过篡改数据,就能直观的把数据返回给前端展示,很明显的看到前端数据是什么样的,就不需要从底层改数据
(3)模拟低速、弱网环境等,有些元素加载不出来会导致样式问题
网络爬虫是自动爬取网页的程序,在爬取的过程中必然会涉及客户端与服务端之间的通信,也需要发送一些HTTP请求,并接受服务器返回的结果。
有些网址变化肉眼是看不出规律的,这时配合抓包软件会变得较容易。
案例:网页底部“阅读更多”
在浏览一些图片网站时,浏览到最下面的时候会出现一个“阅读更多”的字样,此时单击“阅读更多”页面上显示更多内容,加载出来的内容跟原来的内容是在同一个网页上展示的。我们直接看网址的变化是看不出任何规律的,便无法分析该请求是如何实现的,无法通过程序构造出该请求。
此时可以通过Fiddler 进行抓包,对这些数据进行分析,查看request headers 发现是通过Get请求来实现的,总共有3个参数:order_by、page、per_page
通过分析就可以知道页面上只显示20篇文章,之后就需要通过 阅读更多 进行加载
每点击一次 阅读更多 ,相当于在修改page值
知道实现规律后,就可以通过编写程序构造出对应的请求,并由程序自动地实现这些请求的发送。
假如修改page为3、4、5,在新窗口进行访问,与页面阅读更多进行比对
Fiddler 默认是抓 http请求的,对于pc上的 https请求,会提示网页不安全,这时候需要在浏览器上安装证书
Fiddler可以通过伪造CA证书来欺骗浏览器和服务器,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。
1、检查Fiddler设置
2、导出证书
3、导入到Firefox浏览器
测试下结果,打开百度网页,成功了,接下来就可以进行抓包了
1、cls (或 clear) 清屏命令
清空会话列表中的所有会话
2、select 筛选某一类型的会话命令
如 select html ,输入命令后敲回车键,在会话列表中所有html类型的会话都已被选中
3、? 查找网址中包含某些字符的会话信息
如 ?jianshu 可以查找出网址中包含“jianshu”字符串的会话信息,跟其他会话信息用不同颜色区分显示
4、help 帮助命令
打开官方的使用页面介绍,所有的命令都会列出来
5、bpu、bpafter 断点命令
6、dump 快速保存
以 铁路网的货物跟踪 为例
页面有车号、货票号、验证码三个字段,通过输入不同格式的值来观察页面提示与 Fiddler 抓包返回的 json值
1、先输入格式正确的值,点查询
2、修改货票号的位数,点查询
1、两次抓包的接口是一样吗?第一个是post,第二个是get,不是同一个
2、第二个请求没有发出去,应该是前端直接对数值的位数做了校验的,这个时候就不会调接口,所以就没有数据显示了
如想更深入的使用Fiddler,请查看 进阶篇
软件测试工程师发展规划路线
1. 软件测试工程师发展规划路线
1.1. 测试基础
了解测试的基础技能, 掌握主流缺陷管理工具的使用, 熟练测试环境的操作与运维
爱码小士 测试基础
测试计划 / 测试用例 黑盒用例设计等价类 / 边界值 / 场景分析 / 判定表 / 因果图分析 / 错误推断
缺陷 缺陷生命周期 / 缺陷分级 / 缺陷管理工具禅道 / Jira
数据库 Mysql / 环境搭建 / 增删改查 / 关联查询 / 存储过程
Linux 系统搭建 / 基本指令 / 日志分析 / 环境搭建
1.2. Linux 必备知识
Linux 作为现在最流行的软件环境系统, 一定需要掌握, 目前的招聘要求都需要有 Linux 能力。
爱码小士 Linux 必备知识
Linux 系统简介与准备 Linux 作为现在最流行的软件环境系统, 一定得会, 从 CenterOS 版本系统进行介绍, 安装, 目录结构等基础内容学起, 也为后续自建测试环境准备。
Linux 远程工具 Xshell 详细介绍如何入门使用 Linux, 并进行常规的远程管理, 文件传输操作, 涉及其中的工具 Xshell, Xftp
Linux 文件属性与管理 Linux 文件, 目录基本属性, 文件操作, 文件管理, 目录操作, 目录管理。切忌自毁行为操作, 如何预防意外操作
Linux 用户与组管理 如何在 Linux 中新增, 删除, 修改用户与组, 并赋予相应权限, 不再因为权限问题而卡壳
Linux 文件编辑器 Linux 文件编辑器 vi 的使用, 命令模式, 输入模式, 操作实例, 快捷键, 管道命令, 使用心得。在一个没有图形化的系统下到底如何编辑的呢?
Linux 常用系统设置 网络设置, 环境变量, 磁盘管理, 时间设置, 系统资源, 防火墙, 应有尽有, 不用担心毫无头绪。
Linux 安装软件 Linux 安装命令, 以及如何通过 tar, gz 等网络上下载的安装文件进行安装, 如 MySQL 数据库安装。
Linux Docker 容器 Docker 容器技术讲解, image 镜像管理, 仓库, 容器创建, 启动, 操作, 镜像打包, 赶上行业流行技术
1.3. Shell 脚本
掌握 Shell 脚本: 包括 Shell 基础与运用、Shell 逻辑控制、Shell 逻辑函数
爱码小士 Shell
Linux Shell 基础与应用 shell 脚本编程介绍, 环境类型, 变量, 参数, 运算符, 数组的使用, 零距离接触脚本
Linux Shell 逻辑控制 shell 逻辑应用, test 命令, 流程控制, 数据输入与输出, 脚本逻辑不再单调, 玩出花样
Linux Shell 函数 shell 脚本函数写法, 文件互相调用, 脚本实战应用, 懂得开发, 测试, 运维都可以做什么
Windows 脚本批处理 Linux 玩够了, 再来看看 Windows 常规命令用法, 批处理脚本写法, 实战应用, 并不是到哪都是 Linux, Windows 脚本也是常用脚本之一, 看到这里可能你就用的 Windows
1.4. 互联网程序原理
自动化必经之路: 前端开发基础知识以及互联网网络必备知识四、互联网程序原理
爱码小士 互联网程序原理
Web 前端开发基础 HTML、CSS 基本内容学习。为什么测试课程有开发? 对不起, 如果不会, 自动化可能不欢迎, 很多自动化测试问题都出自于开发基础
Web 前端开发脚本 JavaScript 最主流的脚本学习, 同样的, 这也会在自动化测试中涉及, 在一些工具中其实也经常用到动态脚本, 也是 JavaScript 语言
开发者调试工具测试应用 虽然浏览器的 F12 被命名为开发者工具, 但实际上测试不管在功能测试还是自动化测试中, 都起到了很关键的作用。如解析 HTML, 定位元素, 调试脚本, 监控网络抓包等等
互联网程序网络架构 通过网络架构详细理解互联网程序的诞生, 逻辑细节, 互联网通讯原理又是如何将数据传递到其他计算机的, TCP, UCP, HTTP, 等等协议的关系又是什么。
HTTP 协议数据结构分析 完整解析 HTTP 协议数据结构, 包括 Request、Response 数据格式, Header 的定义和用法各种状态代表什么, 如何辨别错误。分析协议中参数的位置, rest 结构, 各种常见的 body 数据形式, 解析方式, 常见数据解析错误的原因。
Cookie 与 Session 机制 解读 Cookie 到底是什么, 和 Session 存在什么样的关系, 如何测试 Cookie 与 Session, 需要注意什么
1.5. MySQL 数据库
软件测试工程师必备 MySQL 数据库知识, 不仅仅停留在基本的 “增删改查”。
爱码小士 MySQL 数据库
MySQL 数据库测试应用 MySQL 环境搭建, 客户端 Navicat 的基本使用与数据操作, 学习并巩固基本的 SQL 语法, 增删改查缺一不可, 掌握各种条件的使用方法
MySQL 高级查询 查询升级, 掌握多表查询, 子查询, 查询分组, 统计函数的使用, 并对经典面试题进行学习与分析
MySQL 自定义函数 既然有内置函数, 当然也不缺自定义函数的位置, 也是经常会使用到的, 这就好比任意一种开发语言一样都离不开函数的定义与使用
MySQL 存储过程 SP 数据库必不可少的存储过程, 通常也叫 SP, 如何定义? 如何测试? 怎么样使用更安全, 测试到底用存储过程还能做什么更多便于测试的内容
MySQL 事物与编程 数据库事务使用案例, 索引的原理与使用, 数据库 SQL 编程在测试中的应用, 如何用其快速精准的产生大量指定的测试数据
1.6. 抓包工具
Fiddler, Wireshark, Sniffer, Tcpdump 各种抓包工具适用于各种项目, 总有一款适合你的
爱码小士 抓包工具
抓包原理与方式 只有了解抓包的原理, 才能真正去用好一个适合的工具, 选择合适的方向和方法, 否则都是徒劳的
抓包工具选择 抓包工具的分类与功效, 什么样的项目适合哪种工具, 如何去辨别工具的优势
Fiddler 基础功能 作为专业的 HTTP 体系的抓包工具, 详细介绍其工具原理, 如何过滤数据, 如何搜索想要的数据, 如何对 web, 非 web, 手机, HTTPS 协议等各种环境进行抓包
Fiddler 高级功能 学会使用其进行接口测试, 断电, 脚本等方式进行数据的修改, 替换, 模拟数据进行接口 Mock 测试, 创建自己定义的菜单功能
Wireshark 与其说是抓包, 更是一种抓包后的分析工具, 在各个系统下利用其它与系统一体化的抓包工具进行数据抓取整理并展示, 有着强大的过滤和分析功能
Sniffer 黑 科技 抓包工具, 有多种版本, 非常专业的抓包工具
Tcpdump Linux、Android 系列的系统中的抓包插件神器
1.7. 接口测试工具
接口测试神器, 你绕不开的强大工具: Jmeter。小巧灵活: Postman
爱码小士 接口测试工具
Jmeter 接口测试入门 Jmeter 简介, 环境准备, 目录结构介绍 , 如何录制脚本, 以及基础组件的使用, 线程、作用域、HTTP 请求、定时器、断言等等
Jmeter 接口测试进阶使用 Jmeter 逻辑控制、前置处理器、后置处理器、监视器、结果树, 如何参数化、正则表达式关联、事务、检查点等等。并带领大家对带有 token 等动态数据的项目进行实战演练
Jmeter 接口测试高级功能 Jmeter 脚本思考时间、随机时间、线程启动间隔、并发集合点、联机远程调用, webservice、websocket、jdbc、命令调用等等
Postman 接口测试工具使用 行业标准 HTTP、rest 接口测试神器, 基本请求、分组保存、动态变量、脚本、数据关联、参数化、自动断言、批量运行、持续集成。思路类似其他接口工具, 避免泛滥学习
1.8. Web 自动化测试 JavaPython
了解自动化的目的, 熟练掌握 TestNGunittest 自动化框架, 以及断言与日志处理
爱码小士 Web 自动化测试 JavaPython
自动化框架思路引导 我们做自动化到底为了什么? 节省人力、加快速度、还是让机器代替手动、还是提升自我。应该如何建立思路, 而非无脑进坑任机器摆布
JavaPython3 开发环境及基本语法 JavaPython 开发环境搭建, 基础语法入门, 让不会代码的以最快速度入门, 方便适应后续自动化测试开发内容学习, 代码够用即可, 并不是学得越多越好
JavaPython3 集合类型与面向对象开发 JavaPython 各种基本类型、集合数据类型的理解与操作, 循环语句、判断语句, 面向对象的开发, 函数的使用, 类的使用
Selenium3 环境与浏览器驱动配置 基于 selenium3 的 web 自动化环境搭建, 正确的浏览器配置, 不再为起不了浏览器而烦恼。支持 IE、Firefox、Chrome 等等
Selenium3 多种定位及动态操作 selenium3 常见定位方法, 属性和值的获取, 如何动态判断不一定存在的元素, 复杂的网页结构, 需要多步骤操作的元素等等
特殊情况处理 (js、特殊控件等) selenium3 自动化测试中, 常见的特殊情况处理, 如日期、控件、智能等待、文件上传下载、网页嵌套结构, 各种弹窗的处理方式, cookie 处理, JavaScript 脚本调用等
TestNGunittest 自动化框架使用 Python unittest、Java TestNG 自动化框架的使用, 环境处理、基本使用逻辑, 数据驱动模型, 数据库数据载入等
自动化框架断言与日志处理 自动化中最重要的是什么? 作为测试当然是断言, 没有断言的自动化毫无用处, 如何展示日志与结果是自动化测试的根本
PageObject 框架设计模式 PageObject 框架设计模式, 到底是做什么的? 如何更好的快速管理控件, 从此做起
1.9. 接口与移动端自动化
专业接口调用、测试解决方案。组建完整的 web 和接口自动化框架, Appium 整体使用
爱码小士 接口与移动端自动化
接口自动化方案 Requests Python Requests、Java HTTPclient 接口框架, 都是专业的接口调用、测试的解决方案, 使用简单快速, 结合工具的使用方式和功能, 快速上手并对其操作, 解决其中的疑难杂症
web + 自动化框架整合 自动化测试是相通的, 如何将 web 与接口、甚至更多的测试类型和方向结合起来, 组成完整的自动化框架
Appium 环境搭建 Appium 环境相对复杂, 针对 Android 系统进行完整的环境搭建演练, 解决环境上的问题, 并进行基本的自动化操作
Appium 自动化实战与框架结合 Appium 整体使用与 web 自动化类似, 引导使用典型功能, 并针对一款 APP 进行实战操作
1.10. 敏捷测试 TestOps 构建
揭开 TestOps 的神秘面纱, 持续集成 Jenkins 框架烂熟于心
爱码小士 敏捷测试 TestOps 构建
构建敏捷测试运维架构体系 敏捷测试是什么? 为什么需要敏捷, 行业都提到的 devops 又是什么? TestOps 能做什么
持续集成 Jenkins 框架实战 持续集成最常见的一套框架, 介绍 Jenkins 操作、权限、系统管理等, 常用构建与运行实例讲解
静态扫描测试 Sonar 一款自动化的代码扫描工具, 便捷式快速扫描代码中的问题, 做到提前发现, 统一规范, 自动化中的代码测试神器
1.11. 性能测试 安全测试
软件测试的彼岸: 性能测试和安全测试, 选个方向努力爬坑吧!
爱码小士 测试基础
性能测试学习路线 如何学习性能测试, 性能测试到底该怎么学习, 使用什么工具? 工具并不代表性能, 接口的基础对性能测试非常重要, 而工具只是辅助, 更多的是思路和策略。你不会并不是分析而是准备阶段
loadrunner 脱离浏览器录制专题 IE 无法启动被测网站? 打不开浏览器? 程序无法在浏览器中被打开? 这些都没关系, 还是一样能录制, 但录制是偷懒专用的, 对于学习有一定的辅助作用, 也会带入无法脱离的坑
性能测试工具操作实践 loadrunner、jmeter, 有了前面的基础使用, 看懂脚本不是问题, 带上关键的参数化、动态数据关联、事物、日志, 大部分的脚本都可以搞定进行实践
系统监控方案实施 工具自带监控? 系统监控? JVM 内部监控? 数据库监控? 各种监控的意义何在, 如何在各种情况下精准监控数据
安全测试起源与工具介绍 应该如何进行安全测试, 安全测试都有哪些分类? 都会用到什么样的工具, 各自的作用又是什么, 如 web 漏洞扫描, 端口扫描, 系统扫描等
web 安全测试手工实战 接口测试在安全中的作用, 不会手动的安全测试, 那就永远无法理解自动化以后产出的结果
安全扫描工具测试实践 实际介绍以及使用 APPscan、awvs 等专业安全扫描工具
企业安全建设 (SDLC) 企业应该如何进行安全建设, 制定更安全的软件生命周期。从哪些方面进行着手
app融合数据会出现接口异常吗?
健壮性测试又称容错测试,主要是用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
mock测试抓包工具我们这里要讲的就是,在接口数据返回异常时,APP可以继续运行,不崩溃。
1、为什么要做app对服务端接口数据的容错测试
mock测试抓包工具?
1.1、首先考虑一个问题:App客户端的数据来源是什么?
1)本地数据(读取本地文件、代码中配置等)
2)网络请求的数据
App客户端网络请求的数据,一般都是以开发时约定好的json格式的形式来传输,如下(当然,也会有不是json的情况):
1.2、既然都是约定好的,那会有什么问题?
情况1:客户端开发认为:我请求
mock测试抓包工具了,就一定会给我结果,写代码时,就没有考虑到请求不返回的情况
情况2:客户端开发认为:我请求了,就一定会给我正确的格式,写代码时,就没有考虑到请求返回的格式不正确的情况,比如上图的json结构发生变化
情况3:接口返回的某个字段的value值,需要客户端进行二次处理,开发在处理时,没有考虑到一些异常值的情况,比如上图的code,msg等值为空或者NULL等等
1.3、以上情况,可能会有什么后果?
情况1:始终处于loading加载中,未做超时处理
情况2、3、4:空指针或数组越界报错,导致直接闪退
以上几种情况,如果不进行专门的容错测试,从测试直到上线,可能都是没问题的,但突然有一天,服务器接口修改或者其他情况,导致接口数据返回出现异常,线上就出现很多严重的崩溃问题,bug率急剧飙升,这就是因为客户端没有进行很好的容错处理。
2、app对服务端接口数据的容错测试的测试方法
测试工具:fiddler、charles或其他抓包工具,下面以fiddler为例
情况1测试方法:
1、手机设置代理,但是不开启fiddler(模拟开启了wifi,但是却无法上网的情况)
2、进入相应的界面,查看现象,如果一直处于loading,就说明没有加超时处理
情况2、3、4测试方法:
1、手机设置代理,开启fiddler
2、将要测试的接口断点(bpu + url)
3、在app中进行操作,使之请求该接口
4、拦截到请求后,修改请求,并使之返回给app
在这个界面就可以修改响应,比如我们要测每一个value的类型,就去修改他,修改完后点击run
5、查看当前界面及后续界面的操作,看有无卡死问题或闪退问题
需要修改成哪些场景进行测试?
1、改成404、500等异常返回状态
2、改成非预期格式(比如预期整个数据是json,那就把整个数据改成非json格式)
3、依次删除每一个key
4、依次修改每一个value的类型(string、int、array、object、null这五个类型之间相互修改)
5、依次修改每一个value的值(类型不变)
3、app对服务端接口数据的容错测试的几个原则:
1)每个新增的接口,理论上都要进行测试,评估工期的时候要预留出测试时间
2)修改了接口返回数据后,会造成客户端一些功能不可用,这是正常的现象,我们测试的原则是,不能有卡死或闪退的严重问题,如果开发不愿意改,必须坚持原则
3)修改value的测试数据时,应该与业务相结合来选取,测试前要搞清楚每个字段是用来干什么的
4)当前app界面如果测试发现不会闪退,但可能点击界面上的某个元素会造成闪退,因此也需要测试当面界面上点击后续元素是否会造成闪退(比如一个书籍列表页,返回的某个书籍元素id格式不正确,列表页不会闪退,但点击这本书籍,进入下个界面时,可能会造成闪退)
4、使用AutoResponder自动mock
也有人可能想到我一个个在fiddler上修改岂不是很麻烦,fiddler这边提供了一些快捷的方法。
右键要测试的接口—SAVE—response body,就可以保存json文件到本地,用nodepad++等工具打开就可以直接编辑修改。再开启AutoResponder,选择本地的json就可以自动mock,模拟返回数据。
我们只要在文档里修改好数据,每一次访问接口就可以自动mock
5、使用脚本自动修改测试。
如果我的json嵌套很多,那我一个个手动测试岂不是很麻烦?这里我们可以采用脚本来进行取代这些重复的步骤。
我这里使用的是python。
1.在你电脑上建立一个txt文件,把该文件地址配置到下面这行,到时候测试时,把待测接口拿到的原始数据,复制到这个文件里保存即可。
2. 使用fiddler的autoresponse功能,把待测接口的自动返回改成以下这个你设置的本地路径
3.使用脚本把把测试json数据写入到testjson.txt文件中,以供fiddler进行autoresponse测试
我这里设置的是每按一次回车执行一次测试,我们执行后可以查看app看是否崩溃。
import json
class RobTest:
def __init__(self):
self.ori_json = {}
self.test_datas= ["--RobTestString--", 0, [1], {"--RobTestKey--": "--RobTestValue--"}, None]
# 读取本地txt中的测试数据,并转换为json对象
def get_ori_txt(self):
# 在你电脑上建立一个txt文件,把该文件地址配置到下面这行,到时候测试时,把待测接口拿到的原始数据,复制到这个文件里保存即可。
f = open('D:/orijson.txt', 'r')
line = f.readline()
res = ""
while line:
res += line
line = f.readline()
f.close
res = res.encode('utf-8').decode('utf-8', errors='ignore').encode('utf-8') # 解决json文件里带中文时会报错的问题
self.ori_json = json.loads(res)
return self.ori_json
# 把测试json数据写入到testjson.txt文件中,以供fiddler进行autoresponse测试
def write_test_file(self, key_name = None):
self.test_jsontxt = json.dumps(self.ori_json)
if key_name:
self.test_jsontxt = self.test_jsontxt.replace("\"" + key_name + "\"", '"---ROBTEST---"')
print (self.test_jsontxt)
# 使用fiddler的autoresponse功能,把待测接口的自动返回改成以下这个你设置的本地路径
with open('D:/testjson.json', 'w') as f:
f.write(self.test_jsontxt)
#提示用户输入回车,进行下一条case的测试
input("-------输入回车后,可以继续测试下一个case-------")
# 执行测试
def do_test(self, testjson):
a = testjson
for key in list(a.keys()):
# 测试key不存在
self.write_test_file(key)
# 测试value改变的各种情况
tempvalue = a[key]
for testData in self.test_datas:
a[key] = testData
self.write_test_file()
a[key] = tempvalue
# 如果当前键值对的value值是string,还需要测试空字符串的情况
if isinstance(a[key],str):
# 测试空字符串的情况
a[key] = ""
self.write_test_file()
a[key] = tempvalue
# 如果当前键值对的value值是dict,还需要测试空dict的情况,并且需要递归测试
if isinstance(a[key], dict):
# 测试空dict的情况
a[key] = {}
self.write_test_file()
a[key] = tempvalue
#递归测试
self.do_test(a[key])
#如果当前键值对的value是list,还需要测试空dict的情况,并且如果第一个元素是dict,需要递归测试
if isinstance(a[key], list) and len(a[key]) 0:
# 测试空list的情况
a[key] = []
self.write_test_file()
a[key] = tempvalue
# 递归测试
if isinstance(a[key][0], dict):
self.do_test(a[key][0])
if __name__ == "__main__":
t = RobTest()
t.get_ori_txt()
t.do_test(t.ori_json)
print("测试完毕")
Fiddler 抓包基本操作(实操篇)
抓包开关:
默认处于抓包状态
mock测试抓包工具,左下角点击capturing,可以禁止抓包。再次点击实现抓包
mock测试抓包工具的状态切换。
数据查看:
数据包列表:展示请求
mock测试抓包工具的结果码,协议,主机,url等简要信息。
数据包详情:
编辑请求:
1. 从请求列表中拖过来一个请求到composer页签中,如序号为35
mock测试抓包工具的请求:
2. 对请求的header或body等进行编辑,
3. 点击execute,发送编辑后请求
4. 可在请求列表中查看发送的新请求
断点调试:
▲ Rules-automatic breakpoints:
Before requests:agent拦截下请求数据,可以查看、编辑请求数据
After response:agent拦截响应数据,可以查看、编辑响应数据
Disable:不进行调试
获取响应后中断,运行直到结束
自动响应:
即Mock server,模拟server返回一个响应数据
1. 勾选enable rules开关,并设置不匹配内容直接通过
2. 设置规则,可以选择精确匹配或正则匹配
3. 设置响应内容,并保存
4. 清除缓存,发送请求,查看结果
抓https包设置:
1. 安装证书生成器:fiddlercertmaker.exe,直接安装即可,重启fiddler
2. Fiddler设置:
▲ tools-options-https:
第一次操作时,有提示信息,点击确认即可
3. Fiddler导出证书:
信任证书:Tools-Options-HTTPS-Actions-Trust root certificate
导出证书:Tools-Options-HTTPS-Actions-Export certificate to desktop
4. 浏览器中导入证书,不同浏览器操作不尽相同
5. 重启fiddler
stream抓包后如何修改数据
stream抓包后修改数据:
IOS抓包工具Stream——让移动端的抓包变得轻而易举
PDO exec 执行时出错后如果修改数据会被还原?
iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解
Fiddler抓包12-AutoResponder返回本地数据(mock)
Mac 下抓包工具 Charles 修改特定请求
5分钟搞定iOS抓包Charles,让数据一清二楚
Fiddler抓包后转成jmeter脚本
fiddler抓包后Jmeter实现登录接口
fiddler抓包-4-简单对数据进行mock
(fiddler+loadrunner) fiddler抓包后转化为loadrunner脚本
Charles抓包工具断点修改返回内容
Fiddler抓包和修改WebSocket数据,支持wss
【转】Fiddler抓包和修改WebSocket数据,支持wss
WireShark抓包时TCP数据包出现may be caused by ip checksum offload
Wireshark抓包TCP三次握手数据
BLE广播数据的抓包解析
tcp抓包 Wireshark 使用
wireshark 抓包
排查利器:Tcpdump抓包 Wireshark解析
抓包工具charles使用教程指南
charles使用教程指南(抓包工具)
关于mock测试抓包工具和测试常用抓包工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
mock测试抓包工具的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于测试常用抓包工具、mock测试抓包工具的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~