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

jmeter内部函数失败BeanSHellInterpreter

蓬祺
2023-03-14
try {
Integer count=vars.get("SessionId").length()-5;
vars.put("vAuth", vars.get("v_username") +     vars.get("SessionId").substring(count) + ":" );
log.info("Writing a info message");
   ${__FileToString(C:/tmp/DeltaConnectDemoTool_3_2_0S1_5515/bin/request.txt,,FileContents)};

log.info("Writing a second info message");
}
catch (Throwable ex ) {
    log.error("Failed to do this or that", ex);
}

2016/11/17 15:52:18 warn-jmeter.modifiers.beanshellpreprocessor:BeanShell脚本org.apache.jorphan.util.jmeterexception:调用bsh方法时出错:文件中的eval:inline evaluation of:``try{Integer count=vars.get(“sessionid”).length()-5;vars.put(“vauth”,vars.get....“在第5行,第8列。

共有1个答案

马才
2023-03-14

这就是为什么不建议将函数或变量内联到脚本体中的原因。您有两个备选方案:

>

  • 使用“参数”部分中的函数。如果函数返回一些值,您可以在后面的Beanshell代码中引用为参数bsh.args[0],例如:

    在Beanshell代码中实现该函数。在您的例子中,它可以是fileutils.readFileToString()函数:

    String FileContent = org.apache.commons.io.FileUtils.readFileToString(new File("request.txt"));
    vars.put("FileContent", FileContent);
    

  •  类似资料:
    • 我是JMeter和断言概念的新手。当我试图执行一个JMX文件(包含JMeter中的断言)时,遇到了以下错误消息: 断言错误:错误断言失败:真断言失败消息:测试失败:变量(搜索结果)不相等/接收:找不到[[[]]]]比较:找不到[[[]]]]] 脚本的执行方式如下:$java-jar./apache-jmeter-2.10/bin/apachejmeter.jar-t./jmeter-master/

    • 严格说来,Ruby中没有函数.但Kernel模块中定义的方法(可以在任何地方用做函数,因此)可被其他语言当做函数来调用.若您对这些方法进行再定义时,就必需考虑到对其他方面的影响. `str 把字符串str当做外部命令来运行,并以字符串方式返回命令的输出.使用`str`形式来调用该方法(还可以使用%x(...)表示法进行调用.请参考命令输出). 可以使用$?来了解命令的结束状态. 若您只想执行命令,

    • 主要内容:函数列表,创建JMeter测试计划,添加采样器,添加监听器,保存并执行测试计划,验证输出JMeter函数可以称为特殊值,可以填充测试树中任何Sampler或其他元素的字段。 JMeter中函数的语法: 这里匹配函数的名称,圆括号围绕发送给函数的参数。 如果函数参数包含逗号,那么请务必使用对其进行转义,否则JMeter会将其视为参数分隔符。 例如: 函数列表 函数类型 名称 注解 信息 threadNum 获取线程号 信息 samplerName 获取采样器名称(标签)。 信息 log

    • 我们也正在手动更新成功提交后的偏移。KafkaTransactionManager用于维护事务。由于消息是通过RestController发布到firstTopic的,我们的@Transactional从那里开始,在偏移更新时结束。为此,我们使用executeInTransaction()。 Kafka造型 Rest控制器 这是解决生产者失败的正确方法吗? 有没有方法在第10次重试后捕获异常并根据

    • 我试图运行一个简单的mapdb示例,但出现了以下错误: 我的班级: 我的pomx.xml 我跑得很快-