python接口自动化12-流量回放神器:mitmproxy(下)
一、mitmproxy做扩展
比如接口用例信息收集,回放对比,安全测试都可以那么便可以通过:mitmdump -s xx.py
扩展可查阅中文文档:https://ptorch.com/docs/10/addons-overview
1、有需求将某些请求域名包含的,写入文档方便回放,或者入库等。
import time
import jsondef dumps(txt, beaut=0):""" json序列化:dict -> json """try:if beaut:txt = json.dumps(txt, sort_keys=True, indent=4, ensure_ascii=False)else:txt = json.dumps(txt, ensure_ascii=False)except:txt = txtreturn txtdef loads(txt):""" json反序列化:json -> dict """try:txt = json.loads(txt, encoding='UTF-8')except:txt = txtreturn txtdef response(flow):# 加上过滤条件if flow.request.host in ['192.168.1.1']:request_data, headers = {}, {}# 请求信息组装request_data['method'] = flow.request.methodrequest_data['url'] = flow.request.pretty_url# headersfor key, value in flow.request.headers.items():headers[key] = valuerequest_data['headers'] = headers# bodyis_body = loads(flow.request.content.decode('utf-8'))if is_body:if isinstance(is_body, dict):body = {'json': is_body}else:body = {'data': is_body}request_data.update(body)request_data['response'] = loads(flow.response.content.decode('utf-8'))# 写入文件file = f'mitm-{time.strftime("%Y-%m-%d", time.localtime())}.txt'with open(file, 'a+', encoding='utf-8')as f:f.write(dumps(request_data) + '\n')
2、指定的域名将请求与响应信息抓取下来保存为文件,再做进一步处理或API测试,美哉!
平时功能测试时开好代理,将API请求信息抓取到。
流量回放替代人工写了一部分用例,或者做冒烟测试时可以直接使用只请求GET类型,这样不用担心参数化关联或参数无效情况。
结束
python接口自动化12-流量回放神器:mitmproxy(下)相关推荐
- python接口自动化11-流量回放神器:mitmproxy(上)
简介: mitmproxy是一组工具,可为HTTP/1,HTTP/2和WebSockets提供交互式的,具有SSL/TLS功能的拦截代理. 官方文档:https://docs.mitmproxy.or ...
- Python接口自动化之requests请求封装
------·今天距2021年253天·------ 这是ITester软件测试小栈第114次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化之Token详解及应用,介绍tok ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)–发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先了 ...
- python接口自动化实战(框架)_python接口自动化框架实战
python接口测试的原理,就不解释了,百度一大堆. 先看目录,可能这个框架比较简单,但是麻雀虽小五脏俱全. 各个文件夹下的文件如下: 一.理清思路 我这个自动化框架要实现什么 1.从excel里面提 ...
- python接口自动化5-Json数据处理
前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的 ...
- python接口自动化-参数化
原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...
- python接口自动化4-绕过验证码登录(cookie)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...
- python接口自动化关联参数_python接口自动化7-参数关联
前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 (博客园的登录机制已经变了,不能用账号和密码登录了 ...
- python接口自动化22-签名(signature)鉴权(authentication)之加密(HEX、MD5、HMAC-SHA256)...
前言 开放的接口为了避免被别人乱调用,浪费服务器资源,这就涉及到签名(Signature)加密了 API 使用签名方法(Signature)对接口进行鉴权(Authentication).每一次请求都 ...
最新文章
- TeamViewer介绍:远程控制计算机
- 词向量到Bert代码——部分习题
- python--异常处理
- 成功解决ImportError: [joblib] Attempting to do parallel computing without protecting your import on a sy
- http://www.mamicode.com/info-detail-1208112.html
- SAP 电商云 Spartacus UI Quick Order 对应的 CMS 内容
- php: 0跟字符串做比较永远是true。 php大bug。
- 一文详解Kafka API
- 阿里云服务器下安装LAMP环境(CentOS Linux 6.3)(1)
- 【股价预测】基于matlab BP神经网络股票价格预测【含Matlab源码 345期】
- 更改wordpress上传文件大小限制
- 用python算24点及原理详解
- 集中趋势度量Measures of Central Tendency
- Pytorch transform
- 美国国债收益率回复2021年年初水平 黄金同时趋向上走势
- php自我介绍50字,【自我介绍50字左右】自我介绍50字
- dedecms织梦后台登录一直提示验证码错误
- 使用pydicom读取dicom文件,并对文件做一些简单操作
- 小谈Intel SGX
- ZZULIOJ 1008: 美元和人民币
热门文章
- 腾讯课堂点播上云客户端实践总结
- BERT详解——原理篇(组会PPT,其中大量参考李宏毅的bert课程视频)
- 每日学术速递5.25
- EC11、EC16、ECxx旋转编码器按钮软件滤波程序滤除干扰杂波51单片机C程序
- 【python 人像抠图】利用阿里云api进行对本地图片进行批量人像抠图
- android实时识别,Android-中国象棋-实时识别-实时AI
- mysql游标循环的使用_实例详解mysql游标循环的使用
- 【物联网天线选择攻略】2.4GHz 频段增益天线模块设备选择
- ArcGIS制作旅游时间等时圈
- 滤波器对比分析,这四种滤波器你都了解吗?