在创建脚本以打印输入测试数据+对该数据的响应时,我遇到了一些问题。我也想打印输入测试数据,例如:
cards
98765432
98765432
结果CSV文件:应为
Cards,Results
98765432,PASS
98765432,FAIL
如何像上面一样打印?我的代码是
import java.io.File;
import org.apache.jmeter.services.FileServer;
Result = "FAIL";
Response = prev.getResponseDataAsString();
if(Response.contains("fullCardNo"))
Result = "PASS";
fullCardNo =vars.get("fullcards");
f = new FileOutputStream("F:\\Java_Applications\\apache-jmeter-3.1\\bin\\FullCardsResults.csv",true);
p=new PrintStream(f);
this.interpreter.setOut(p);
p.println((${cards})+","+fullCardNo + "-" + Result);
f.close();
p.close();
通过上面的脚本,我的结果文件显示为空,该文件中没有数据。
答案 0 :(得分:0)
我找到了答案,我的脚本中只有错误,只是我已经更改并复制,将fullCardNo =vars.get("fullcards");
粘贴到Result =“FAIL”上方,如下所示,代码适用于我。< / p>
import java.io.File;
import org.apache.jmeter.services.FileServer;
cardsnumber =vars.get("cards");
Result = "FAIL";
Response = prev.getResponseDataAsString();
if(Response.contains("fullCardNo"))
Result = "PASS";
fullCardNo =vars.get("fullcards");
f = new FileOutputStream("F:\\Java_Applications\\apache-jmeter-3.1\\bin\\FullCardsResults.csv",true);
p=new PrintStream(f);
this.interpreter.setOut(p);
p.println(cardsnumber+","+fullCardNo + "-" + Result);
f.close();
p.close();
请按照上面的代码,然后我可以在结果csv文件中打印输入变量,就像我在问题中提到的那样。
答案 1 :(得分:0)
建议尽可能避免使用脚本,因此我建议使用Sample Variables属性
假设您通过将下一行添加到 user.properties 文件(位于JMeter安装的“bin”文件夹中)来设置sample_variables
属性
sample_variables=cards,fullcards
或通过-J command-line argument将它们传递给JMeter启动脚本,如:
jmeter -Jsample_variables=cards,fullcards -n -t test.jmx -l result.csv
您的result.csv
文件将包含2个额外列,其中将显示${cards}
和${fullcards}
值。有关通过属性精确调整JMeter实例的更多信息,请参阅Apache JMeter Properties Customization Guide指南。
如果您必须执行需要编写脚本的内容,请确保您使用的是效果最佳的选项,目前使用的是Groovy语言JSR223 Test Elements。