jmeter性能测试之实战项目~WebService

1.1 WebService简介

1.描述了一组可以在网络上通过标准化的xml消息传递访问的操作。它是基于xml语言的协议来描述要执行的操作或者与另一个web服务器交换数据
2.Web Service使用的是 SOAP (Simple Object Access Protocol)协议
3.接口测试工具:soapUI (可以用http请求代替)

1.2 WebService简介项目实战

1.2.1 基础

1.http请求取样器
jmeter性能测试之实战项目~WebService_第1张图片
2.请求头
Content-type: text/xml
jmeter性能测试之实战项目~WebService_第2张图片

1.2.2 上传文件

同http

2.Websocket

Websocket使用场景
1.聊天应用
2.多人游戏
3.股票交易和金融应用
4.文档合作编辑
5.社交应用

2.1 配置

1.下载依赖jar包
感谢博主:链接: https://pan.baidu.com/s/1hEOt-Y32zup45J97yom4-w 密码: ft24
(部分可在mvn下载:https://mvnrepository.com/search?q=websocketSam)

  1. JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar
    1)jetty-http-9.1.2.v20140210.jar
    2)jetty-io-9.1.2.v20140210.jar
    3)jetty-util-9.1.2.v20140210.jar
    4)websocket-api-9.1.1.v20140108.jar
    5)websocket-client-9.1.1.v20140108.jar
    6)websocket-common-9.1.1.v20140108.jar

2.将jar包放到目录apache-jmeter-5.2.1\lib\ext
jmeter性能测试之实战项目~WebService_第3张图片
3.重启jmeter

4.练习接口
访问:http://www.websocket.org/echo.html
抓取websocket
jmeter性能测试之实战项目~WebService_第4张图片
5.jmeter脚本实现
添加取样器:
WebSocket Sampler
jmeter性能测试之实战项目~WebService_第5张图片

2.2.2 python测试

import unittest
from websocket import create_connection
import websocket

class Test_websoket(unittest.TestCase):
    def test_websk(self):
        '''websocket 消息推送:  /socketServer/${userId} '''
        url = 'ws://echo.websocket.org'  # websocket连接地址
        websocket.enableTrace(True)  # 打开跟踪,查看日志
        ws = create_connection(url)  # 创建连接
        data = "测试数据给你"
        #发送数据
        ws.send(data)
        print("Client: " + data)
        #接收数据
        rec_data = ws.recv()
        print("server: " + rec_data)
        print(ws.getstatus())  # 打印连接状态
        self.assertEqual(101, ws.getstatus(), 'websocket连接错误')  # 断言连接状态
        ws.settimeout(20)   #设置超时时间
        print(ws.gettimeout())  #获取超时时间
        ws.shutdown()  # 关闭连接

if __name__ == '__main__':
    unittest.main()

你可能感兴趣的:(性能测试,性能测试,websocket,webservice)