Skip to content

分步式网络编程框架 ioGame 17.1.46 增加压测&模拟客户端请求模块

Compare
Choose a tag to compare
@iohao iohao released this 18 Jul 02:54
· 340 commits to main since this release

主要更新

[160] 轻量小部件 - 压测&模拟客户端请求模块

文档:https://www.yuque.com/iohao/game/tc83ud

介绍

此模块是用于模拟客户端,简化模拟工作量,只需要编写对应请求与回调。

使用该模块后,当我们与前端同学联调某个功能时,不需要跟前端哥们说:在点一下、在点一下、在点一下了。这种“在点一下”的交流联调方式将成为过去式。

除了可以模拟简单的请求外,通常还可以做一些复杂的请求编排,并支持复杂业务的压测。模拟测试的过程是可互动的,但也支持测试自动化。

与单元测试不同的是,该模块可以模拟真实的网络环境,并且在模拟测试的过程中与服务器交互是可持续的、可互动的

可互动模式是用于调试测试某些功能。在互动的过程中,开发者可以在控制台中指定执行某个模拟请求命令,并且支持在控制台中输入一些动态的请求参数,从而让我们轻松的测试不同的业务逻辑走向。

关于可互动部分,需要将后续文档阅读完后才能知道其具体意思。

特点

  • 使用简单
  • 压测支持
  • 可以模拟客户端请求
  • 可以模拟真实的网络环境
  • 可以编排复杂的业务请求
  • 同样的模拟测试用例,支持在多种连接方式下工作(tcp、udp、websocket)
  • 可持续的与服务器交互,模拟测试的过程是可互动的,但也支持测试自动化

入门级演示

整体文档有点多,但在实际的使用上是比较简单的。

图一

图左边是我们提供的 action,图右边则是我们编写的模拟请求。

0cd9b0d4aa682c3dddc2a372e76ac0f7

图二

控制台中是可交互的部分,可以查看提供了哪些模拟的客户端请求。

通过在控制台中输入 【cmd-subCmd】 来触发对应的请求。

51148d07dde132224a04780b51e2209c

图三

触发请求后,当服务器有响应数据时,会进入到对应模拟请求的回调中。

6674c6a4ab6f7a72bb8d5594ad4e0e00

小结

比如需要做一个简单的:私聊系统、聊天频道、好友系统时,这个模拟客户端就派上用场了。

模拟客户端模块还提供了一个 ClientUser(玩家)对象,一个模拟客户端对应一个 ClientUser。ClientUser 是客户端的用户(玩家)对象,开发者可以通过动态属性 options 来扩展业务,比如可以在动态属性中保存货币、战力值、血条 ...等。也可以通过继承的方式来扩展。

其他更新

文档生成增强,增加 action 参数注释说明、返回值注释说明。