一,创建测试Socket协议的脚本
在上一节中我们创建了测试Http服务的脚本,在这一节中我们创建独立测试Socket服务的脚本。本节中的脚本依赖上一节的Http服务测试脚本:需要先在Http服务中创建用户、登录,保存下来用户ID和token才能进行socket脚本的运行。创建文件:Server/test/tewtWs.js:
var ws = require('ws');
var wsUrl = 'ws://127.0.0.1:8183/';
var sock = new ws(wsUrl);
function testBind() {
var data = {
'cmd' : 'bind',
'data' : {
'userId' : 100027,
'token' : '465626|100027|7695390|2019-9-3 20:42:32 708|3144699'
}
};
sock.send(JSON.stringify(data));
}
sock.on('open', function() {
console.log('sock open come in ...');
// sock.send('hello world ..');
testBind();
});
sock.on('error', function(err) {
console.log('sock error come in ...', err);
});
sock.on('close', function(err){
console.log('sock close come in ..');
});
sock.on('message', function(data){
console.log('sock get message data = ', data);
});
二,代码简析
流程
在代码中引入需要的ws库,创建webSocket链接,在创建链接成功后即发送进入游戏的协议。
发送进入游戏的协议
testBind函数负责发送进入游戏的协议到后端,其中的用户ID和token参数需要依赖发送HTTP协议,登录游戏后获取,获取到之后再修改此测试脚本中的值。
三,运行
在运行:
node testWs.js
之后,获取到对应参数,修改testBind的uiserId和token参数后运行:
node testHttp.js
运行正确后即可获取到结果:
运行结果
四,不足
Socket服务测试脚本依赖于前文的Http测试脚本,只有在运行Http测试脚本获取到相关参数后才可以进行此脚本的运行,如果要做集成化、流水线化的测试需要把这些操作整合到一个脚本中。