比较两个字符串并使用jmeter中的beanshell将输出写入csv文件

比较两个字符串并使用jmeter中的beanshell将输出写入csv文件,jmeter,beanshell,Jmeter,Beanshell,我正在使用beanshell后处理器,比较两个变量并将输出写入csv文件,但不知怎么的,它现在正在工作 import org.apache.commons.logging; import java.lang.String.*; // using regular expression to get Borderid e.g 1234560 String TOID = vars.get("BOrderID"); // file fath to write defined in user defin

我正在使用beanshell后处理器,比较两个变量并将输出写入csv文件,但不知怎么的,它现在正在工作

import org.apache.commons.logging;
import java.lang.String.*;

// using regular expression to get Borderid e.g 1234560
String TOID = vars.get("BOrderID");
// file fath to write defined in user defined variables
String fpath = vars.get("write_file_path");
// orderid to search
String SOID = vars.get("orderID");

String DMN = SOID.equals.(TOID);

if (DMN){

  FileWriter fstream = new FileWriter(fpath+"order_Status.csv", true);

  BufferedWriter out = new BufferedWriter(fstream);

  out.write(TOID+","+SOID);

  out.newLine();

  out.flush();

  } else {
   log.info("orders did not match");
 }
有人知道我做错了什么,因为这不起作用。

更改这行:

String DMN = SOID.equals.(TOID);
为此:

boolean DMN = SOID.equals(TOID);

也考虑切换到高负载时,贝壳性能成为一个大问号。性能良好的Groovy脚本可以编译成JSR223测试元素,因此JSR223测试元素的性能会更好

有关更多详细信息,请参阅JMeter用户手册条目和文章。Groovy几乎与Java完全兼容,因此您可以重用现有的Beanshell代码

更改此行:

String DMN = SOID.equals.(TOID);
为此:

boolean DMN = SOID.equals(TOID);

也考虑切换到高负载时,贝壳性能成为一个大问号。性能良好的Groovy脚本可以编译成JSR223测试元素,因此JSR223测试元素的性能会更好


有关更多详细信息,请参阅JMeter用户手册条目和文章。Groovy几乎与Java完全兼容,因此您可以重用现有的Beanshell代码

在BeanShell后处理器中,实现以下代码片段

String a="Test"; 
String b="Test123"; 

if(a.equals(b)) {
    log.info("Matched"); 
} 
else { 
    log.info("Not a Match");
}
如果
如果
语句为true,它将打印
匹配的
,否则
不匹配的


在BeanShell后处理器中,实现以下代码片段

String a="Test"; 
String b="Test123"; 

if(a.equals(b)) {
    log.info("Matched"); 
} 
else { 
    log.info("Not a Match");
}
如果
如果
语句为true,它将打印
匹配的
,否则
不匹配的


您遇到了什么错误?2017/04/25 09:38:42警告-jmeter.extractor.BeanShellPostProcessor:BeanShell脚本org.apache.jorphan.util.JMeterException中存在问题:调用bsh方法时出错:文件中的eval:内联求值:`import org.apache.commons.logging;导入java.lang.String.*;字符串TOID=var…“”遇到“(“在第11行第26列,即字符串DMN=SOID.equals.(TOID);使用此块
if(SOID.equals(${TOID}”){}
它不起作用使用此实现
String a=“Test1”;String b=“Test”;if(a.equals(b)){log.info(“匹配”);}else log.info(“不匹配”)
您遇到了什么错误?2017/04/25 09:38:42警告-jmeter.extractor.BeanShellPostProcessor:BeanShell脚本org.apache.jorphan.util.JMeterException中存在问题:调用bsh方法时出错:文件中的eval:内联求值:`import org.apache.commons.logging;import java.lang.String.*;字符串TOID=var…''遇到(“在第11行第26列,即字符串DMN=SOID.equals.(TOID);使用此块
if(SOID.equals(${TOID}”){}
它不起作用使用此实现
String a=“Test1”;String b=“Test”;if(a.equals(b)){log.info(“匹配”);}else log.info(“不匹配”);
不给出任何错误,但每次运行else语句时,即使条件匹配。如果条件不匹配,则使用它(!DMN){}然后它只对所有订单执行if语句,而我看到一些记录的SOID=TOID,甚至在logsjmeter.util.BeanShellTestElement:6000008----SOID jmeter.util.BeanShellTestElement:55689072,jmeter.util.BeanShellTestElement:6000008----toidn中打印,但每次运行else stat时都不会给出任何错误即使条件匹配,也使用它。如果不匹配,则在(!DMN){}然后它只对所有订单执行if语句,而我看到一些记录的SOID=TOID,甚至在logsjmeter.util.BeanShellTestElement:6000008----SOID jmeter.util.BeanShellTestElement:55689072,jmeter.util.BeanShellTestElement:6000008----TOID中打印