功能介绍

  在有的网络开发需要走二进制流协议场景,比如网络游戏开发,在开发阶段,前端和后端协商好协议后就分别开发。在开发写代码的时候,有时需要对端发送一条完整的协议过来触发一下自己的代码,进行单步调试或单元测试,但对端现在也在开发,不能发完整的协议过来。这种情况下,我们可以使用TcpEngine工具模拟对端向我们发送完整的协议,实现触发我们的代码逻辑。

  TcpEngine是可以通过xml配置,模拟二进制流协议的工具,比如有一条协议的定义如下面四个部分

1. 1~4共四个字节是整型,存放消息体长度。

2.  5~6共两个字节是短整型,存放命令ID。

4. 最后是消息体,长度由首四个字节指定。

  那么TcpEngine对象的xml配置如下面所示。

<!-- 用<data>变量体接收协议配置过程示例,排序位置表示在协议中的位置 -->

<data id="msg_len" value="{int:net}"></data> <!-- 1~4共四个字节整型,从网络接收数据 -->

<data value="{short:net}"></data>       <!-- 5~6共两个字节短整型,从网络接收数据 -->

<data value="{short:local:const}123"></data><!-- 7~8共两个字节短整型,填本地固定值123 -->

  <data value="{string:net:calc}$msg_len"></data> <!-- 后面是消息体,从网络接收,接收长度由变量id=msg_len变量体指定 -->

  这个工具的主要功能有

1. 通过xml配置二进制协议。

2. 支持模拟前端和后端(模拟后端时,只允许一个前端连接)

3. 支持byte(一个字节);short(两个字节短整型);int(四个字节整型);long(八个字节长整型);float(四个字节浮点型);double(八个字节浮点型);json字符串。

4. 支持Tcp和WebSocket两种网络协议。

5. 保存关键数据,在下一条协议中继续使用。

6. 日志显示测试过程数据变化,可保存日志到文件,下次打开日志文件可恢复测试现场。

7. 支持常用的运算符。

8. 支持延迟或暂停测试过程。

工具主界面

运行界面

工具地址: https://pan.baidu.com/s/1P0yPWWiEj8lUvN-a7GwIWw

游戏协议模拟测试工具(TcpEngine)使用简介的更多相关文章

  1. Apache自带压力测试工具ab用法简介

    ab命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp ...

  2. [开源]微信在线信息模拟测试工具(基于Senparc.Weixin.MP开发)

    目前为止似乎还没有看到过Web版的普通消息测试工具(除了官方针对高级接口的),现有的一些桌面版的几个测试工具也都是使用XML直接请求,非常不友好,我们来尝试做一个“面向对象”操作的测试工具. 测试工具 ...

  3. 协议并发测试工具 BoHexTest

    BoHexTest V1.0.3 1.添加连接LOG打印2.优化代理及并发策略 大小: 1074688 字节修改时间: 2017年10月3日, 10:24:26MD5: EBAE5A17F7F5ED0 ...

  4. Slickflow.NET 开源工作流引擎高级开发(六) -- WebTest 引擎接口模拟测试工具集

    前言:引擎组件的接口测试不光是程序测试人员使用,而且也是产品负责人员需要用到的功能,因为在每一步流转过程中,就会完整模拟实际用户发生的场景,也就容易排查具体是程序问题还是业务问题,从而快速定位问题,及 ...

  5. 在线GET/POST API接口请求模拟测试工具

    在前后端开发过程中经常需要对HTTP接口进行测试,推荐几款比较好用的测试工具 Postman https://www.getpostman.com/ 强大的HTTP请求测试工具 支持多平台 Advan ...

  6. monkey测试===Android测试工具Monkey用法简介(转载)

    Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey ...

  7. Linux下的内核测试工具——perf使用简介

    Perf是Linux kernel自带的系统性能优化工具.Perf的优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature.pef可以用于查看热点函数, ...

  8. linux--->ab测试工具使用

    ab测试工具使用 ab简介 是apache自带的压力测试工具.其原理是ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,它既可以用来测试ap ...

  9. httpd的压力测试工具-ab工具使用案例

    httpd的压力测试工具-ab工具使用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.httpd自带的工具程序 事实上,在我们安装完Apache之后,它默认就会给我们安 ...

随机推荐

  1. Maximum Average Subarray II

    Description Given an array with positive and negative numbers, find the maximum average subarray whi ...

  2. Python json常用操作

    json模块 (字符串操作) json.dumps() :对数据进行编码 json.loads() :对数据进行解码 json模块(文件操作) # 写入 JSON 数据 with open('data ...

  3. Update和Select结合统计更新

    Update和Select结合统计更新 update table_a set updatetime=getdate(), name=b.name from (select name,age from ...

  4. Spring事务采坑 —— timeout

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_18860653/article/d ...

  5. mybatis执行insert后马上能获取自增主键的语句写法

    <!--keyColumn keyProperty useGeneratedKeys 用于在插入数据后,能直接使用user.getId()获取主键--> <insert id=&qu ...

  6. Poj 2114 Boatherds(点分治)

    Boatherds Time Limit: 2000MS Memory Limit: 65536K Description Boatherds Inc. is a sailing company op ...

  7. 1069 The Black Hole of Numbers(20 分)

    For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in ...

  8. 用混入的方法引入vuex,并且解决vuex刷新页面值丢失的问题

    前段时间,做了个官网项目,客户要求将首页的域名后面的参数去除干净,然后就把#去掉了,一转脸,客户让去掉子页面地址栏上的参数,这很棘手,因为子页面的内容是根据子页面地址栏上的参数而定的,如果要去掉这些参 ...

  9. ShardingSphere Hint模式 SpringBoot + Mybatis

    ShardingSphere Hint模式不需要对sql进行解析,就可以进行数据库或者表的路由.下面贴一下代码,关于SpringBoot + Mybatis + ShardingSphere怎样结合. ...

  10. jquery 性能优化高级技巧

    有时为了书写方便,忽视了程序执行中给客户端带来的压力.导致在低端浏览器的运行缓慢. 1>通过CDN引用jquery,能减少网站加载时间.http://apps.bdimg.com/libs/jq ...