黑羽压力测试

 前言

最近项目上由于上线初期没有很好的进行压力,故项目验收阶段需要对项目进行重新压力测试。由于供应商采用的Jmeter进行压力测试,且压测人员没有很好的掌握压力测试场景脚本编写和把握导致压测一直延期,特此需求一款简容易上手的压测软件“黑羽压测软件”。

软件介绍

官方地址:http://www.python3.vip/doc/tutorial/hyload/01/

特点

黑羽压测 这款工具的特色是: 简单易用、性能强悍、灵活性高 。

  • 简单易用

    点击就可以产生 测试代码模板,修修改改 就能进行测试

  • 性能强

    单机可达 每秒 一万个请求,并发连接数可达 数万

  • 灵活性高

    使用Python代码编写测试场景,可以灵活适应各种测试需求。

下载

具体地址详见官方文档,我目前下载的版本,1.3.3。具体安装过程很简单,不做过多介绍了。

压测脚本制作

定义客户端

# 定义客户端行为,点击右边条目,可自动插入功能代码
# 创建客户端     
client = HttpClient('127.0.0.1:7777', # 目标地址:端口
                    timeout=10   # 超时时间,单位秒
                   ) 
response = client.sendAndRecv(
    'POST',
    '/demo/login',
    # 通过headers传入指定消息头
    headers={
        'Auth-Menu':'/login'
    },
    # 通过json传入指定json格式的消息体参数
    json={
      "reqData" : {"loginName" : "admin","password" : "admin"}
      }
    )
    

print(f"响应状态码为 {response.status} ") 

定义性能场景

# 定义性能场景,点击右边条目,可自动插入代码
createClientsAndKeep(
    'client-1', # 客户端名称
    100,       # 客户端数量
    0.01,     # 启动间隔时间,秒
    )
以上100客户端在0.01秒内全部启动完成,并保持持续发送请求

压力情况监控

 数据文件统计

 token/cookie

# 导入产生md5的库
import hashlib
m = hashlib.md5()

# 创建客户端     
client = HttpClient('127.0.0.1',
                    timeout=10
                       ) 

# 发送请求1
response = client.sendAndRecv(
    'GET',
    "/getopcode")

# 获取opcode        
opcode = response.json('utf8')['opcode']

# 传入md5源数据
m.update(opcode.encode())
# 产生哈希值的十六进制表示
opcode-md5= m.hexdigest()

# 发送请求2
response = client.sendAndRecv(
    'POST',
    "/bugdevice",
    json={
        'opcode-md5':opcode-md5,
        'action':'bug_sword'
    })

具体参考:http://www.python3.vip/doc/tutorial/hyload/02/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值