基于CSV数据的JSON响应验证

时间:2018-04-08 19:07:11

标签: rest jmeter integration-testing soapui postman

我有一个REST服务,它将提供如下的JSON响应

{ " id":1, " first_name":" George", " last_name":" Bluth", " avatar":" Test1" },

{ " id":2, " first_name":"珍妮特", " last_name":" Weaver", " avatar":" Test2" },

{ " id":3, " first_name":" Emma", " last_name":" Wong", " avatar":" Test3" }

我想将这些响应与SQL / Oracle数据库进行比较,以检查数据是否正确(数据库中的数据被提取到基本数据的CSV文件中)

我的问题:

  • 有没有办法以自动方式将响应正文导出为CSV格式? - 这样我就可以比较两个CSV
  • 以任何方式从 csv文件中逐个单元格读取数据以通过响应正文中的每个 JSON数组进行验证
  • 如果以上几点无法使用任何工具,请建议正确的方法。我尝试了很多API测试工具,但没有运气

先谢谢。

1 个答案:

答案 0 :(得分:0)

如果要将CSV形式的响应打印到文件中,只需添加JSR223 PostProcessor作为请求的子项,该请求返回上述JSON并将以下代码放入“脚本”区域:

def json = new groovy.json.JsonSlurper().parse(prev.getResponseData())
def csvFile = new File('/path/to/csv/file')
json.each {entry ->
    csvFile << entry.getValue() + ','
}
csvFile << System.getProperty('line.separator')

有关在JMeter测试中使用Groovy脚本的更多详细信息,请参阅Apache Groovy - Why and How You Should Use It文章。

另请注意,您可以使用以下方式直接执行断言: