2017-05-27 77 views
-2

我在创建脚本来打印输入测试数据+该数据的响应时遇到了一些问题。我想打印输入的测试数据还举例说:如何使用jmeter中的bean外壳处理器在CSV文件中打印CSV文件输入参数?

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

请阅读[在什么情况下,我可以在我的问题中添加“紧急”或其他类似短语,以获得更快的答案?](https://meta.stackoverflow.com/q/326569) - 摘要是这不是解决志愿者问题的理想方式,而且可能对获得答案起反作用。请不要将这添加到您的问题。 – halfer

回答

0

我找到了答案,只在我的脚本错误,只是我已经改变和复制,粘贴fullCardNo =vars.get("fullcards");上面的结果=“失败”下面和下面是代码适合我。

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文件中打印输入变量,就像我在问题中问的那样。

0

建议避免脚本如果可能的话,所以我会建议使用Sample Variables属性,而不是

给你加上下一行user.properties文件(位于的“bin”文件夹设置sample_variables属性您安装Jmeter)

sample_variables=cards,fullcards 

或通过他们传递给JMeter的启动脚本-J command-line argument像:

jmeter -Jsample_variables=cards,fullcards -n -t test.jmx -l result.csv 

您的result.csv文件将包含2个额外的列,其中${cards}${fullcards}值将存在。有关通过属性精确调整JMeter实例的更多信息,请参阅Apache JMeter Properties Customization Guide指南。


如果必须做一些需要的脚本确保您使用的是的执行选项是JSR223 Test Elements使用Groovy语言的现在。