base64转图片_Jmeter「第三节」-图片转base64

在接口或性能测试中,会碰到接口的某些参数值是base64的,那就是调接口之前,得先把图片转换成base64。

如果只是简单的场景,可以事先把转换好的base64,通过用户自定义变量写死一个。

但是复杂场景的时候,比如说很多不同大小的图片,大批量图片等,为了尽量模拟实际场景,要求每次取不同的图片,进行稳定性或性能测试。这个时候把所有图片提前转换,然后在存储,就不太方便了。

下面就来说下用前置处理器beanshell自动转换图片


用户定义的变量


E:jmeterjpg

路径后面的“”不能省噢(如果省了,那需要在后续的beanshell里面加上,不然会找不到路径的)

0fd21cf40baadec75e3e4bdf5afb9071.png

BeanShell 预处理程序-jdk8


本次作为功能演示,String b= "25k";这个目前写死了,可以根据实际需要传变量的

这里提供下思路哈:

1.jmeterjpg文件夹里面的图片重命名 从1开始,递增;

如果图片超过100w,windows系统重命名会很慢的,建议在linux上直接改,改好后,在传到windows本地;

2.通过随机获取或jmeter里面的计数器,作为一个变量,传给“b”

import java.io.*;import sun.misc.*;String a= vars.get("path");String b= "25k";String a =a+b+".jpg";String base64string=null;InputStream inputStream = null;byte[] data = null;try { inputStream = new FileInputStream(a); data = new byte[inputStream.available()]; inputStream.read(data); BASE64Encoder encoder = new BASE64Encoder(); base64string = encoder.encode(data);  base64string = base64string.replaceAll(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值