分步式网络编程框架 ioGame 17.1.46 增加压测&模拟客户端请求模块
主要更新
[160] 轻量小部件 - 压测&模拟客户端请求模块
文档:https://www.yuque.com/iohao/game/tc83ud
介绍
此模块是用于模拟客户端,简化模拟工作量,只需要编写对应请求与回调。
使用该模块后,当我们与前端同学联调某个功能时,不需要跟前端哥们说:在点一下、在点一下、在点一下了。这种“在点一下”的交流联调方式将成为过去式。
除了可以模拟简单的请求外,通常还可以做一些复杂的请求编排,并支持复杂业务的压测。模拟测试的过程是可互动的,但也支持测试自动化。
与单元测试不同的是,该模块可以模拟真实的网络环境,并且在模拟测试的过程中与服务器交互是可持续的、可互动的。
可互动模式是用于调试测试某些功能。在互动的过程中,开发者可以在控制台中指定执行某个模拟请求命令,并且支持在控制台中输入一些动态的请求参数,从而让我们轻松的测试不同的业务逻辑走向。
关于可互动部分,需要将后续文档阅读完后才能知道其具体意思。
特点
- 使用简单
- 压测支持
- 可以模拟客户端请求
- 可以模拟真实的网络环境
- 可以编排复杂的业务请求
- 同样的模拟测试用例,支持在多种连接方式下工作(tcp、udp、websocket)
- 可持续的与服务器交互,模拟测试的过程是可互动的,但也支持测试自动化
入门级演示
整体文档有点多,但在实际的使用上是比较简单的。
图一
图左边是我们提供的 action,图右边则是我们编写的模拟请求。
图二
控制台中是可交互的部分,可以查看提供了哪些模拟的客户端请求。
通过在控制台中输入 【cmd-subCmd】 来触发对应的请求。
图三
触发请求后,当服务器有响应数据时,会进入到对应模拟请求的回调中。
小结
比如需要做一个简单的:私聊系统、聊天频道、好友系统时,这个模拟客户端就派上用场了。
模拟客户端模块还提供了一个 ClientUser(玩家)对象,一个模拟客户端对应一个 ClientUser。ClientUser 是客户端的用户(玩家)对象,开发者可以通过动态属性 options 来扩展业务,比如可以在动态属性中保存货币、战力值、血条 ...等。也可以通过继承的方式来扩展。
其他更新
文档生成增强,增加 action 参数注释说明、返回值注释说明。