В приведенном ниже коде «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)
Каким должен быть мой код и как?