java.io.FileNotFoundException 使用 Jmeter - 使用 beanshell 预处理器
java.io.FileNotFoundException with Jmeter - Using beanshell pre processor
我在使用 BeanShell 预处理器对输入文件进行编码然后将编码文件包含在 "Send file with request" 中时遇到问题。
Jmeter 设置
- HTTP 请求(随请求发送文件 - ${file1})
- BeanShell 预处理器
BeanShell 预处理器
import org.apache.commons.io.FileUtils;
import org.apache.commons.codec.binary.Base64;
String file1 = FileUtils.readFileToString(new File("D:/File/test.txt"),"UTF-8");
vars.put("file1",new String(Base64.encodeBase64(file.getBytes("UTF-8"))));
错误信息
java.io.FileNotFoundException: ${file1} (The system cannot find the file specified)
如果您尝试执行以下操作:
- 将文件读入字符串
- 将内容编码为 Base64
- 将编码内容保存到另一个文件
- 将新文件路径保存到 JMeter 变量中
您的 Beanshell 代码应该如下所示:
String file1 = FileUtils.readFileToString(new File("D:/File/test.txt"), "UTF-8");
FileUtils.write(new File("D:/File/testbase64.txt"),new String(Base64.encodeBase64(file1.getBytes("UTF-8"))));
vars.put("file1","D:/File/testbase64.txt");
您的代码片段是
- 正在尝试将编码文件内容放入
file
JMeter 变量
- 最后一行有错别字
file.getBytes()
应该改成 file1.getBytes()
有关 Apache JMeter 中 bsh 脚本的更多信息,请参阅 How to use BeanShell: JMeter's favorite built-in component 指南。
我在使用 BeanShell 预处理器对输入文件进行编码然后将编码文件包含在 "Send file with request" 中时遇到问题。
Jmeter 设置
- HTTP 请求(随请求发送文件 - ${file1})
- BeanShell 预处理器
BeanShell 预处理器
import org.apache.commons.io.FileUtils;
import org.apache.commons.codec.binary.Base64;
String file1 = FileUtils.readFileToString(new File("D:/File/test.txt"),"UTF-8");
vars.put("file1",new String(Base64.encodeBase64(file.getBytes("UTF-8"))));
错误信息
java.io.FileNotFoundException: ${file1} (The system cannot find the file specified)
如果您尝试执行以下操作:
- 将文件读入字符串
- 将内容编码为 Base64
- 将编码内容保存到另一个文件
- 将新文件路径保存到 JMeter 变量中
您的 Beanshell 代码应该如下所示:
String file1 = FileUtils.readFileToString(new File("D:/File/test.txt"), "UTF-8");
FileUtils.write(new File("D:/File/testbase64.txt"),new String(Base64.encodeBase64(file1.getBytes("UTF-8"))));
vars.put("file1","D:/File/testbase64.txt");
您的代码片段是
- 正在尝试将编码文件内容放入
file
JMeter 变量 - 最后一行有错别字
file.getBytes()
应该改成file1.getBytes()
有关 Apache JMeter 中 bsh 脚本的更多信息,请参阅 How to use BeanShell: JMeter's favorite built-in component 指南。