【jmeter】测试socket接口的简单应用

一、场景

    有一天开发问我,有没有什么工具可以测试socket,tcp,当时有点懵,这种需求还是少见

 

二、方法

    使用Jmeter可以进行相关的测试

 

三、创建服务端环境

使用python搞个socket服务端    

import socket

# 创建 socket对象
socket_server = socket.socket()

# 绑定 socket_server到指定的ip地址
socket_server.bind(("localhost", 8888))

# 监听端口, listen()内书写数字,表示可以接受链接的数量
socket_server.listen(1)

while True:

    # 等待客户端连接,接收到的 result是一个二元元组, accept()是一个阻塞的方法,如果没有连接不会往下执行
    result = socket_server.accept()
    conn = result[0]  # 客户端连接对象
    address = result[1]  # 客户端地址信息
    print(f"接收到的客户端连接信息为{address}")
    # 接收客户端信息,recv接受的参数是缓冲区大小,一般1024即可,返回的是一个字节数组,bytes对象,不是字符串,再将其decode解码为字符串对象
    data = conn.recv(1024).decode("UTF-8")

    print(f"客户端发来的消息是:{data}")

    # 回复消息
    # msg = input("请输入回复的消息:")
    msg = "hello client!"
    if msg == 'exit':
        break

    conn.send(msg.encode("UTF-8"))
    # 关闭连接
    conn.close()

socket_server.close()

 

四、jmeter配置

添加线程组

 添加TCP Sampler

 配置TCP Sampler

 添加结果树,查看结果

 

五、测试

首先启动服务端

我们发送一个hello消息

查看服务端接收的消息

 

查看结果树的信息

 至此,基本流程结束,有此类需求的可以研究研究

 

参考链接:

Jmeter测试Socket协议(TCP)的接口测试 - 知足的人生 - 博客园

Jmeter之TCP取样器 - 黑烧鱼 - 博客园

 

posted @ 2023-05-31 15:25  代码诠释的世界  阅读(2252)  评论(0编辑  收藏  举报