webSocket ws协议测试

  最近公司做了个直播的项目,需要用到Websocket进行通信,因而需要对socket最大连接数及稳定性进行测试。当初得到这一需求的时候,唯一想到的就是jmeter,从百度下载相应的socket依赖jar包,开始研究(毕竟第一次做这方面的测试),担心单台压力源不够用,又整了个分布式,不过最终发现Jmeter并不适合测试Socket的最大连接数,于是调整了思路,寻找其他方法,功夫不费有心人,最后发下了一款不错的socket测试小工具(点击下载)是一个.exe文件,使用该工具可以很容易的实现socket稳定性测试,连接数测试就有点麻烦了,因为我们的Websocket需要传递一些参数,这就涉及到对参数进行参数化,此时想到之前做自动化用到的一个工具叫autoit3,通过autoit3调用该.exe程序来实现对不同参数的输入,需要提前准备好数据文件:具体代码如下:

Run("E:\webSocket\WebSocket_test\TradePhoneClient.exe")
Sleep(5000)
WinWait("Form1")

$sheet = Gettestsheet("E:\webSocket\WebSocket_test\student_uuid20000_data.csv",1)
For $i= 1 TO 801 Step 1
   Dim $stu_uid = $sheet.Cells($i,1).value
   CreateWebSocketConnect($stu_uid)
   ;MsgBox(4096, "读取的行:", $stu_uid)
Next
CloseExcel()

Func CreateWebSocketConnect($stu_uid)
   ControlSetText("Form1","","[CLASS:WindowsForms10.EDIT.app.0.141b42a_r14_ad1;INSTANCE:2]","ws://XXXXXXX.cn/broadcast-rest/echo?uuid="&$stu_uid&"&type=student&encryptId=testrenshu2000")
   ControlClick("Form1","","[CLASS:WindowsForms10.BUTTON.app.0.141b42a_r14_ad1;INSTANCE:6]")
   WinWait("[CLASS:#32770]","",3)
   ControlClick("[CLASS:#32770]","","Button1")
EndFunc

Func Gettestsheet($path,$sheetindex)
   ProcessClose("EXCEL.EXE")
   $oExcel = ObjCreate("Excel.Application")
   $oExcel.visible=0
   $workbook=$oExcel.WorkBooks.Open($path)
   $sheet=$workbook.Worksheets.Item($sheetindex)
   Return $sheet
EndFunc

Func CloseExcel()
      $workbook.Save();
      $oExcel.Quit();
   ProcessClose("EXCEL.EXE");退出不了则强制杀死进程
EndFunc

总结:webSocket最大连接数取决Tomcat最大线程数,系统进程数/etc/security/limits.d/90-nproc.conf文件,一般设置51200

时间: 2024-10-14 12:33:36

webSocket ws协议测试的相关文章

Spring WebSocket简单入门测试Demo(网页及时聊天)

说明 本demo运行的环境是:ssm框架 + tomcat8 + jdk7+,由于只是demo.很简陋.能运行调式通过就行,再在此基础上进行扩展研究. 在网上看了很多列子.对于没有接触过websocket的人来说.真的是看不懂.本文列子应该算是比较简单的. Spring WebSocket API的核心接口是WebSocketHandler.我把它叫做消息处理中心. 其他的详细解说可以参考别人的博客 <servlet-mapping> <servlet-name>springmvc

ONVIF协议测试工具的简单使用(一)

最近开始学习Onvif协议了.在这里记录下学习过程中的点点收获. ********************************************************** 一.检测局域网内的设备是否支持Onvif协议 1.安装ONVIF Test Tool 工具 我用的是Test_Tool_v13_06版本的.如果PC上没有装.NET Framework 3.5的话,会提示你先安装.NET Framework 3.5. 2.ONVIF Test Tool的使用 打开该软件,选择本机的

CocoaAsyncSocket 网络通信使用之http协议测试(三)

CocoaAsyncSocket 网络通信使用之http协议测试(三) 通过前一篇CocoaAsyncSocket网络通信使用之数据编码和解码(二),我们已经搭建好了socket的框架. 框架主要分为以下5个模块: 1-网络连接模块(socket connection) 2-数据协议框架(socket packet content protocol) 3-发送数据前的编码模块(socket encoder protocol) 4-接收数据后的解码模块(socket decoder protoco

Tcpreplay让协议测试从此无忧

我是一枚在软件测试行业泡了7年的妹纸,想分享点自己的一些心得体会.在我刚接触协议测试那会,相当迷茫.过程中一系列的问题便不约而至,例如: ·如何明确入参出参? ·如何掌控流量? ·如何重现bug? ·如何模拟使用不常见协议的流量? ·如何模拟大数据量,进行性能和稳定性测试? 这么多问题,通过手工显然无法实现,一定要利用好工具,实现自动化测试.无疑对我这样一个菜鸟来说,是一个全新的挑战. 谈到网络协议,我们自然而然会想到Wireshark.tcpdump等抓包工具,而tcpreplay即是为它们而

Andriod SDK和Loadrunner的HTTP协议测试环境搭建

Andriod SDK和Loadrunner的HTTP协议测试环境搭建 1.Andriod SDK安装 1.1 安装JDK(不累述) 1.2 配置环境变量 配置JDK的系统变量环境,我们需要设置三个系统变量,分别是JAVA_HOME,Path和CLASSPATH.下面是这三个变量的设置防范. JAVA_HOME 先设置这个系统变量名称,变量值为JDK在你电脑上的安装路径:C:\Program Files\Java\jdk1.8.0_20.创建好后则可以利用%JAVA_HOME%作为JDK安装目录

websocket通讯协议(10版本)简介

前言: 工作中用到了websocket 协议10版本的,英文的协议请看这里: http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10 这篇文章相当于工作的总结吧. 首先, 你需要简单了解一下为什么会诞生websocket通讯协议,web上的通讯一般都是基于HTTP(超文本传输协议)的通讯,故而没有建立长时间的网络连接的方法,一般的通讯都是这样子的: 请求 浏览器--------------------->服务器 <-

服务端协议测试系列教程

测试技术分享之服务端协议测试系列教程 童鞋看完后有啥想法,可以发给我改进 在线播放地址:http://www.iqiyi.com/u/2013029540/a 下载地址:链接: http://pan.baidu.com/s/1boDHpbp 密码: p76e

一个简单的通用协议测试软件

在一个公司看到的一个协议测试系统,用C#实现,然后在里面可以按照自己的想法完全自定义字段属性什么的. 之前老是调试服务器与客户端,每次都为了协议的事调试半天,两边都要配人,很影响效率,最近加入一家公司又听闻此事重演,有心想做这样的一个测试软件,这个软件只是用来调试协议,提供测试数据,并显示返回的测试数据. 考虑到PC上写程序好像确实C#容易些,不过协议解析之前用python搞过,有意向将之结合,C#做一些界面,python完成自定义协议实现,初步实现tcp,http两种,协议字段初步考虑用xml

websocket的php测试demo

<?php class WS { var $master; var $sockets = array(); var $debug = false; var $handshake = false; function __construct($address, $port){ $this->master=socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() failed"); socket_se