我是JBehave Rest自动化脚本的新手。下面,我写了几行代码,我的要求是将每个实际的JSON字段数据与期望的数据进行比较。在这里,JSON中的字段数量巨大,我如何才能以最佳方式编写脚本来处理这种情况。

JSONObject actualjson = new JSONObject(actualJsonresponse);
JSONArray actualjsonData = actualjson.getJSONArray("outputDtlList");
JSONObject expectedjson = new JSONObject(RTRestServicesBean.getConfigurationJsonConfigValue());
JSONArray expectedjsonData = expectedjson.getJSONArray("outputDtlList");

String actual_storagetype = actualjsonData.getJSONObject(0).getString("storageType");
String expected_storagetype = expectedjsonData.getJSONObject(0).getString("storageType");

Assert.assertEquals(actual_storagetype, expected_storagetype);

String actual_locnNbr = actualjsonData.getJSONObject(0).getString("locnNbr");
String expected_locnNbr = expectedjsonData.getJSONObject(0).getString("locnNbr");

Assert.assertEquals(actual_locnNbr, expected_locnNbr);

最佳答案

考虑使用net.javacrumbs.json-unit:json-unit

import static net.javacrumbs.jsonunit.JsonAssert.*;

...

assertJsonEquals(expectedjson, actualjsonData);

关于testing - 比较自动化脚本中两个JSON数据的更好方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48105630/

10-13 02:30