当前位置: 首页 > 知识库问答 >
问题:

Jmeter的Java . io . file not found exception-使用beanshell预处理器

蒋高超
2023-03-14

我在使用 BeanShell 预处理器对输入文件进行编码然后将编码文件包含在“发送带有请求的文件”中的 Jmeter 时遇到问题。

杰米设置

    < li>HTTP请求(随请求发送文件- ${file1}) < ul > < li>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)

共有1个答案

南宫阳冰
2023-03-14

如果您正在尝试执行以下操作:

    < li >将文件读入字符串 < li >将内容编码为Base64 < li >将编码内容保存到另一个文件中 < li >将新文件路径保存到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");

您的代码片段是

  1. 尝试将编码的文件内容放入文件 JMeter 变量中
  2. 在最后一行 file.getBytes() 中有拼写错误应该更改为 file1.getBytes()

有关ApacheJMeter中bsh脚本的更多信息,请参阅如何使用BeanShell:JMeter最喜爱的内置组件指南。

 类似资料:
  • 在日志中获取以下错误: 上的方法:getName() 下面是Beanshell后处理器中使用的代码。

  • 我如何使用beanshell后处理器来分析来自每个请求的数据?我需要分析请求,如果请求通过-写入文件,如果请求失败-写入其他文件。任何机构都可以为这种情况编写简单的示例脚本?

  • 问题内容: 有没有办法从一个BeanShell前置/后处理器到另一个BeanShell处理器 (它们在同一个线程组中) 引用变量? 如果我在HTTP Request下的BeanShell PreProcessor中创建一个String变量,那么我可以在同一HTTP Request下的BeanShell PostProcessor中使用或引用该变量。 我尝试通过以下方式访问此变量: + HTTP请求

  • 我需要测试rest api发布JSON。我尝试使用JMeter通过BeanShell后处理器发布Json数据。但是BeanShell后处理器不工作或者我写不出正确的代码。 我的Json是:{“email”:“selin@xxx.com”,“password”:“123”} 你可以在下面的图片中看到我做了什么。

  • 如何更正此代码?谢谢

  • 预处理器元素在采样器发出请求之前执行,如果预处理器附加到采样器元素,那么它将在该采样器元素运行之前执行。 预处理器元素用于在运行之前修改样本请求的设置,或更新未从响应文本中提取的变量。 以下是JMeter提供的所有预处理器元素的列表: JDBC预处理器 JSR223预处理器 RegEx用户参数 BeanShell预处理器 BSF预处理器 HTML链接解析器 HTTP URL重写修饰符 HTTP用户

  • 将 vue-loader 与 webpack 一起使用的好处之一是能够直接在你的 Vue 组件文件中预处理你的 HTML/CSS/JS,而无需其他工作。请查询 这里 相关的详细信息。 使用案例 假设我们需要使用 Sass/SCSS 来预处理我们的 CSS。首先,我们需要安装正确的 webpack 加载器来处理这种语法。 安装 sass-loader npm install --save-dev s

  • 它给出了error:error-jmeter.util.beanshellinterpreter:error调用bsh方法:eval Sourced file:inline evaluation of:import java.util.regex.*;导入java.util.regex.Matcher;导入java.util.reg。..''标记解析错误:第14行第64列的词法错误。遇到:“\”(