如何使用bean外壳脚本将数据写入jmeter中的csv
问题内容:
我是jmeter的新手,在我公司中,我们正在使用jmeter。进行web服务测试。我的要求是我正在使用csv数据配置文件进行web服务测试,在这里我想用测试结果更新csv文件的每一行,我正在使用beanshell后处理器,请帮助
例如:csv包含:
Test Case,Dates,Numbers,Results
Total test cases are 16 and i want to update as below for each test case
TC_001,9-03-2016,001,PASS
TC_002,9-03-2016,0002,FAIL
等等…
Result = "FAIL";
Response = prev.Get....();
If(Response.Contains("Valid"));
Results="PASS";
f = new FileOutputStream("/tmp/oders.csv", true);
p = new PrintStream(f);
this.interpreter.setOut(p);
print(Results + "," + Result);
f.close();
P.Close();
问题答案:
可能不是最好的主意,因为:
- 您可能在重用此文件时遇到问题
- 您可能会遇到2个或更多线程同时写入文件的情况,这将导致数据丢失,文件损坏或IO异常
我建议您将“测试用例”,“日期”和“数字”变量添加到JMeter的.jtl结果文件中,而不要使用 Sample Variables 属性,例如:
- 鉴于你有3个变量:
TestCase
,Date
和Number
-
将以 下行添加到 user.properties 文件(位于JMeter安装的/ bin文件夹下)
sample_variables=TestCase,Date,Number
-
在下一次重新启动JMeter时,您将在.jtl结果文件中看到“ TestCase”,“ Date”和“ Number”变量值。
也可以将设置作为命令行参数传递,例如:
jmeter -Jsample_variables=TestCase,Date,Number -n -t /path/to/testplan.jmx -l /path/to/results.jtl
参考文献: