完成Socket
协议接口的调试之后,下一步继续进行Socket
接口的业务测试了。因为目前接到的需求是一个老师跟学生相互聊天的功能,所以必须通过两个用户的长连接进行测试,经过一些尝试和修改,基本脚本已经完成,分享如下,仅供参考。
之前的Socket
相关文章:
- socket接口开发和测试初探
- 基于WebSocket的client封装
- 基于Socket.IO的Client封装
思路
目前业务逻辑顺序如下:
HTTP
登录- 通过
token
和uid
建立长连接 register
长连接用户join
房间- 发送消息
- 关闭
Socket
本来计划通过两个线程来完成,后来发现这个跟WebSocket
还是有区别的,完全不需要多线程也可以完成测试。最后步骤里面通过sleep(second)
和closeAll()
两个方法配合即可。
结构
分成了三个类:
- 配置类
- 基础功能类
- 脚本
配置类主要存放配置信息的,进行多环境配置的,没啥可讲的。基础功能类,主要是完成对各类的发送对象的封装,我用了Groovy
写的,因为太爽了,各位可以看看代码就知道了。脚本类就是编写各类测试脚本,提供测试和造数据功能。
由于对改项目Socket
不太熟悉,尚未进行项目优化,后期封装会取消脚本里面的常量参数,更加方便测试。
代码
省略了配置类,因为实在没东西可说的。
基础功能类
目前只做了一部分的,还有大量功能需要跟进。
package com.okayqa.socket.base;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fun.frame.SourceCode;
/**
* socket基础类
*/
class SocketBase extends SourceCode {
/**
* 注册
*
* @param uid
* @param t