在JMeter中,我运行的脚本使用.CSV文件输入数据以及验证结果。它工作正常,但我无法弄清楚如何判断.CSV的哪一行/哪一行导致了个别故障。有没有办法做到这一点?
某种示例场景(并非特定于我正在做的事情,但类似): .CSV文件的每一行都包含一个数学方程式以及预期的结果。
在第1页上,输入等式(2 + 2)
然后在第2页,您得到回复:3。
该测试显然会失败。
假设有1000个测试正在运行,有些通过,有些则没有。我怎么知道哪个.CSV行/行没有通过?
答案 0 :(得分:2)
您的CSV文件中是否有任何列可帮助您唯一标识行?
添加以下代码。我假设你将PASS或FAIL结果存储在'结果'变量
import java.io.File;
import org.apache.jmeter.services.FileServer;
f = new FileOutputStream("someptah/tcstatus.csv", true);
p = new PrintStream(f);
p.println( vars.get("TestCaseNo") + "," + vars.get("Result"));
p.close();
f.close();
上面的代码创建了一个CSV文件,其中包含每个测试用例的结果。
修改
在Beanshell后处理器中自己做断言。
import java.io.File;
import org.apache.jmeter.services.FileServer;
Result = "FAIL";
Response = prev.getResponseDataAsString();
if (Response.contains("value")) // replace the value with the expected text
Result = "PASS";
f = new FileOutputStream("someptah/tcstatus.csv", true);
p = new PrintStream(f);
p.println( vars.get("TestCaseNo") + "," + Result);
p.close();
f.close();
答案 1 :(得分:1)
我会使用以下方法
有关上述和其他有用的JMeter函数的更多信息,请参阅How to Use JMeter Functions帖子系列。