我正在使用Beanshell采样器将一个PDF文件内容保存到另一个PDF文件中。
在Beanshell采样器中我已经把下面的代码:
FileInputStream in = new FileInputStream("C:\\Users\\Dey\\Downloads\\sample.pdf");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
for (int i; (i = in.read(buffer)) != -1; ) {
bos.write(buffer, 0, i);
}
in.close();
byte[] extractdata = bos.toByteArray();
bos.close();
vars.put("extractdata", new String(extarctdata));
使用beanshell后处理器,我将此变量${extractdata}保存在另一个pdf文件中。生成文件,但打开文件时,文件为空,意味着没有显示任何内容。
所以,有人能告诉我如何解决这个问题吗?上面的代码片段有什么错误吗?请指导我。
1条答案
按热度按时间ar5n3qh51#
1.你打错了字
和
因此您的测试元素正在静默失败,请检查jmeter.log文件,它应该包含一些错误。
1.由于我们看不到Beanshell后处理器代码,因此无法说明还有什么问题,很可能是在将字节数组转换为字符串或将字符串转换为字节数组时,encoding存在问题。
所以我建议跳过这一步,使用vars.putObject()函数代替:
然后再
1.如果您只需要复制文件,则可以使用以下代码段:
1.从JMeter 3.1开始,建议使用JSR223测试元素和Groovy来编写脚本,因此您应该切换到Groovy,在这种情况下,您将能够执行以下操作:
有关JMeter中的Groovy脚本的更多信息:Apache Groovy: What Is Groovy Used For?