参考 https://testerhome.com/topics/29053 ,这篇文章讲的很清楚。
想直接使用的同学可以跳到第三部分。
mitmproxy 作为代理,可以获取客户端与服务端通信的数据,并且可以拦截、修改和自主发送数据。当配合其证书使用时,还可以解密 wss 连接中的 websocket 数据。
在 http 代理的过程中若发现 upgrade websocket 请求,则创建 WebSocketLayer 实例,并调用其 <u style="box-sizing: border-boxoutline-style: none--tw-border-opacity:1border-color: rgb(229 231 235/var(--tw-border-opacity))">call</u>方法。
WebSocketLayer 初始化时会创建用于此次 websocket 通信的编解码器。
WebSocketLayer 实例的 <u style="box-sizing: border-boxoutline-style: none--tw-border-opacity:1border-color: rgb(229 231 235/var(--tw-border-opacity))">call</u>方法负责处理后续 websocket 通信
WebSocketLayer 实例中处理 Message Event 的方法
TCP 数据处理触发条件
TCP 信息处理 RawTCPLayer 类源码
首先需要安装两个库:mitmproxy 和 mitmdump
对于想实现开头文中所提到的功能还需要实现客户端,以及对于 protobuf 协议的编解码,这里限于篇幅不再讨论,后续有机会再更新。
另外,之所以 mitmproxy 选择 socks5 模式,是因为 socks 协议支持代理除了 http、https 以外更多种类的协议,windows 开启 socks5 代理的工具:proxifer,android 开启 socks5 代理工具:postern。
1、首先明确游戏自动化测试的开展,游戏自动化测试一般来说,感觉开展起来蛮繁琐的,因为其的不定性太高,对于一些主观性高的游戏测试,就不需要,但是可以应用于一些固定的回归测试,例如:对npc的一系列特定操作,什么时候触发什么事情,都按照一定的规则的触发;2、至于游戏测试脚本,这个不说是哪种合适,因为游戏自动化测试,要么做单元测试、要么游戏提供API接口,可以撰写脚本向功能接口发送请求信息,从而模拟一定的规律进行测试,所以用什么脚本无所谓了,只要能将请求信息发送到功能模块就行。3、常用的脚本有tcl、python、ruby、perl等。tcl以前一直用在电信网络方面的自动化测试、现在用的越来越少了,python和ruby等很好的面向对象、而且社区也比较大,发展潜力也可以,推荐可以学一学以上只做参考,具体就自己发现吧,祝你学习愉快,好运
一、思考❓❔
1.什么是性能自动化测试?
2.Python中的性能自动化测试库?
locust库
二、基础操作
1.安装locust
安装成功之后,在cmd控制台将会新增一条命令,可输入如下命令查看:
2.基本用法
三、综合案例演练
1.编写自动化测试脚本
2.使用命令行运行
3.打开web ui界面进行配置
设置并发用户数为10,每5秒创建一个用户
压测过程截图
美轮美奂的压测报告
压测失败详情
下载压测统计数据
下载的压测统计数据csv文件
六、总结
出处:https://www.cnblogs.com/keyou1/