1. UI、接口、代理测试:
接口主要是测服务器
代理主要是测客户端
2.
3. 几种常见协议区别: https://blog.csdn.net/miao_9/article/details/85286025
雪球app抓包与mock实战
测试对象:数据(AT^BSN 或 1000601)
如果没有 mock ,需要人为打开装备生成的 log ,把 log 与电子流进行对比(1v1),如果不一致,测试失败(需要跟开发确认指令顺序是否正确)- 重复与繁琐,不仅了解 log ,还需要与开发进行大量沟通。
打开 charles 的 Proxy , 点击 reverse prxies
当访问:https://127.0.0.1:8081/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=霍格沃兹测试学院 2
charles 会反向代理到 baidu ,搜索霍格沃兹测试学院
业务场景: 可以编写测试服务( flask ),服务根据不同响应,返回不同数据。实现对采用 https 协议的应用测试。
搜索雪球中股票名字
右键请求,选择 maplocal ,选择本地文件(或者打开 tools , 点击 maplocal)
mitmproxy说明文档
分类:
安装
pip install mitmproxy
证书安装
监听 8080 端口,提高显示等级
mitmdump --flow-detail 3
脚本:实现请求计算器,每来一个请求,计算器 + 1 ,并且打印
from mitmproxy import ctx
class Counter:
def __init__(self):
self.num = 0
def request(self, flow):
self.num = self.num + 1
ctx.log.info("hello")
ctx.log.info("We‘ve seen %d flows" % self.num)
addons = [
Counter()
]
实现 maplocal
from mitmproxy import ctx
from mitmproxy import http
class ABC:
def __init__(self):
self.num = 0
def request(self, flow: http.HTTPFlow) -> None:
if "quote.json" in flow.request.pretty_url and "x=" in flow.request.pretty_url:
with open(r"C:\Users\yuruo\Desktop\tmp.json", ‘r‘, encoding="utf-8") as f:
flow.response = http.HTTPResponse.make(
200, # (optional) status code
f.read(), # (optional) content
{"Content-Type": "application/json"} # (optional) headers
)
addons = [
ABC()
]
原文:https://www.cnblogs.com/nbclass-fpp/p/14322203.html