Jmeter验证响应

时间:2018-05-01 17:57:18

标签: jmeter

在下面的代码中,'ScenarioName'表示测试用例名称,'DeviceID'表示输入参数,同时获取响应。现在我需要使用输入csv中给出的字段来交叉检查响应数据的每个字段。所以,如果它匹配,那么我们只会说结果通过或者失败..

截至目前的代码:(它只是命中服务并在结果CSV中写入响应。但在将其写入生成的CSV之前,我们需要验证响应中的所有字段是否都匹配对应于该值的值在输入CSV中指定的特定方案,只有这样我们才能得出结论:测试用例是通过还是失败。)

Beanshell后处理器代码:

scenario = vars.get("ScenarioName");
deviceid = vars.get("DeviceID");
eventname = vars.get("C_EventName");
eventtype = vars.get("C_EventType");
areaName = vars.get("C_AreaName");

n = vars.get("counter");

filename = "C:\\RestService\\"+ n +".csv";

f = new FileOutputStream(filename, true); 

p = new PrintStream(f); 

this.interpreter.setOut(p); 

print( scenario + ", " + etrTimestamp + ", " + eventname + ", " + eventtype + ", " + areaName + ", " + areaType  + ", " + additionalInfo  + ", " + resultStatusCode + ", " + resultStatusMessage);

f.close();

现在我的输入文件:

ScenarioName   DeviceID  Execution

Validate event   52226406   Yes   

invalid ID       11501233   Yes   

但是输入文件应该是:

ScenarioName       DeviceID     Execution   EVENTNAME     REsultCODE  

Validate event      52226406      Yes       Hurricane         200    

invalid ID          11501233      Yes        Tornado          404 

现在我的输出是:

ScenarioName      DeviceID     Execution    EVENTNAME      REsultCODE  

Validate event    52226406       Yes        Hurricane          200    

invalid ID        11501233       Yes        Tsunami            404     

但它应该是:

ScenarioName       DeviceID           EVENTNAME      REsultCODE    Result

Validate event     52226406           Hurricane       Event        Pass     

invalid ID         11501233           Tsunami         404          Fail   

如果我们验证测试用例,那么让我们说对于DeviceID 52226406,那么只有当所有字段与输入csv中存在的数据完全匹配时我们才会说结果为通过...。但是对于DeviceID 11501233事件类型应该是Tornado但作为回应我们正在作为海啸,所以它应该失败(我们匹配输入CSV后) 我的代码应该怎么做?

1 个答案:

答案 0 :(得分:0)

  1. 请注意starting from JMeter 3.1 it is strongly recommended to use JSR223 Test Elements and Groovy language脚本编写,因此请考虑在下一个可用机会上迁移到JSR223 Assertion和Groovy语言。
  2. 您的要求可以在没有任何脚本的情况下完成,例如:

  3. 如果您出于任何原因需要存储实际数据,可以使用Sample Variables属性或Flexible File Writer