我尝试在Jmeter中将文件编码为Base64,以使用以下脚本测试Web服务:
String file = FileUtils.readFileToString(new File("${filepath}"), "UTF-8");
vars.put("file", new String(Base64.encodeBase64(file.getBytes("UTF-8"))));
字符串
这对纯文本文件很有效,对其他文件类型则不起作用。
我如何使它适用于其他文件类型?
我尝试在Jmeter中将文件编码为Base64,以使用以下脚本测试Web服务:
String file = FileUtils.readFileToString(new File("${filepath}"), "UTF-8");
vars.put("file", new String(Base64.encodeBase64(file.getBytes("UTF-8"))));
字符串
这对纯文本文件很有效,对其他文件类型则不起作用。
我如何使它适用于其他文件类型?
6条答案
按热度按时间xoshrz7s1#
Jmeter有很多药水可以把一个变量转换成“Base64”,下面是几个选项
1.豆壳预处理机
1.豆壳取样器。
下面是“Bean shell”代码,它用于在“Bean shell预处理器”中将变量转换为Base64
字符串
示例如下:
Base64之前的版本:jdwqoeendwqqm12sdw
碱基64之后:amR3cW9lZW5kd3FxbTEyc2R3
使用Jmeter转换:
的数据
的
使用base64转换的站点:
的
kt06eoxx2#
由于Groovy现在是每个JMeter Sampler,Pre- & PostProcessor,Assertion等中首选的JSR 223脚本语言,因此这项任务非常容易。
字符串
或者作为一个班轮:
型
就这样
oyt4ldly3#
使用函数
${__base64Encode(nameofthestring)}
编码字符串值,使用${__base64Decode(nameofthestring)}
解码字符串值。ngynwnxp4#
你的问题来自这样一个事实,即你认为二进制文件作为文本时,阅读他们是错误的。
使用此命令阅读文件:
然后用Base64编码字节数组
0yycz8jy5#
试试这个
字符串
lhcgjxsq6#
另一种方法是在用户定义变量中直接创建一个groovy函数,
字符串