JMeter性能测试之参数加密的接口【一】

本文为博主原创,未经授权,严禁转载及使用。
本文链接:https://blog.csdn.net/zyooooxie/article/details/126752386

工作中,会常常遇到 有些接口会用到加密,倘若这部分接口要做压测,加密这部分 要怎么处理呢?本期 分享些我自己的做法。

【实际这篇博客推迟发布N个月】

个人博客:https://blog.csdn.net/zyooooxie

【以下所有内容仅为个人项目经历,如有不同,纯属正常】

接口

/DevicePromote是 我们项目 在公司某设备 专门推广时,提供的接口,传参只有一个 param(参数值 是加密字符串)。

在这里插入图片描述

param的 参数值,明文 是一个JSON串, {“mobile”: phone, “spNet”: dept, ‘qq’: ‘153132336’, “name”: “zyooooxie”};使用的是 AES加密,加密模式是ECB (如何加密,之前分享过一些 https://blog.csdn.net/zyooooxie/article/details/117022776 )。

偷懒-用不同情景来压测

在完成 当前版本的功能测试后,急着压测(为了得到QPS,方便 生产环境Sentinel 配置限流规则),

所以为了快速、简单得出结论,我和开发 确定了:以不同情景 分别来压测(这个接口内里的情景 分为5种)。

不巧的是:在测试过程中,也就只有我的账号准备了数据(没法参数化了),不得已,只能选(我的手机号+特定dept)来压。

【压测时,param 的值 直接 写死;这是一个偷懒且无奈的做法,但 断言(根据情景来设置)却是 有效且准确的:每个情景的返回值固定】

param 的值,是通过下面的方法 拿到的。

"""
@blog: https://blog.csdn.net/zyooooxie
"""

def encrypted_0908(phone: str, dept: str):
    """
    
    :param phone:手机号 
    :param dept: 
    :return: 
    """
    mobile = encrypted_phone_number(phone)

    data_json = {"mobile": mobile, "spNet": dept}
    data_json = json.dumps(data_json, ensure_ascii=False)
	
	encrypt_func(encrypt_str=data_json, key='qq:153132336')

请求

在这里插入图片描述

断言

在这里插入图片描述

压测报告

情景1的:

在这里插入图片描述

情景5的:
在这里插入图片描述

稳妥-要做参数化

param 的值,最好 是做 参数化。

【这是一个稳妥的做法,但 断言却是 不精准的:每次请求(走的情景是不确定的)返回值可能完全不同,只能做 通用的断言】

请求

在这里插入图片描述

断言

在这里插入图片描述

加密这一部分工作,是 可以放到JMeter里来做的,当然也可以放到JMeter外面来做。

方案1-加密 在JMeter里完成

在压力机压测 发请求时,要先完成加密计算,这样 会消耗掉 压力机本身的部分性能。

参数化

phone、dept 都 要做参数化。

在这里插入图片描述

调用Jar包

有其他依赖的jar包,也需要一起放入。

在这里插入图片描述

BeanShell PreProcessor

添加 > 前置处理器 > BeanShell PreProcessor

https://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PreProcessor

在这里插入图片描述

压测报告

在这里插入图片描述

本文链接:https://blog.csdn.net/zyooooxie/article/details/126752386

个人博客 https://blog.csdn.net/zyooooxie

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值