如何在Jmeter中编码对Base64的附件?

Blu*_*tar 3 base64 automated-tests web-services jmeter jmeter-plugins

我正在尝试使用以下脚本在Jmeter中将文件编码为Base64以测试Web服务:

String file = FileUtils.readFileToString(new File("${filepath}"), "UTF-8");
vars.put("file", new String(Base64.encodeBase64(file.getBytes("UTF-8"))));
Run Code Online (Sandbox Code Playgroud)

这对于纯文本文件很好用,而对于其他文件类型则不能正常工作。

如何使其适用于其他文件类型?

小智 5

Jmeter有很多药可以将变量转换为“ Base64”,以下是一些选择

  1. Bean Shell预处理器
  2. BeanShell后处理器
  3. BeanShell采样器。

下面是“ bean shell”代码,在“ Bean shell预处理程序”中用于将变量转换为Base64

import org.apache.commons.codec.binary.Base64;

String emailIs= vars.get("session");

byte[] encryptedUid = Base64.encodeBase64(emailIs.getBytes());
vars.put("genStringValue",new String(encryptedUid));
Run Code Online (Sandbox Code Playgroud)

范例:

在Base64之前:jdwqoeendwqqm12sdw

在Base64之后:amR3cW9lZW5kd3FxbTEyc2R3

使用Jmeter转换:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明 使用base64网站转换:

在此处输入图片说明