在rest api自动化中断言json字段的最佳方法是什么?

时间:2017-03-10 05:41:48

标签: python json rest automation automated-tests

如果我的json对象包含多个属性,那么我应该为每个属性编写断言还是有更好的方法?

例如: {'数据' {' ID' :123,' first_name' :'布鲁斯',' last_name' :' wayne','电话' :12345,' is_superhero' :'是',' can_fly' :' uses_tech',' aka' :'蝙蝠侠'}}

现在,我可以按如下方式编写断言:

方法1:

assertEquals(响应['数据'] [' first_name'] ==' bruce')依此类推所有属性,想象一下我的json响应有100个字段然后我的测试代码将包括100个assertEquals。

方法2:

我可以进行json比较,但是当json对象&中存在动态值(如id)时,它会如何工作。每次都必须改变!

如果您已完成API自动化并在复杂的json对象上进行断言,那么我期待您遵循的方法。

我觉得必须有一个更好的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我建议您使用JSON架构,请在此处详细了解:https://spacetelescope.github.io/understanding-json-schema/

获得API架构后,您可以使用类似JSON架构的库对其进行验证,请在此处进行检查:https://pypi.python.org/pypi/jsonschema

此外,您可以使用GenSON库自动生成JSON中的模式:https://github.com/wolverdude/GenSON。考虑到此库存在局限性,您需要调整生成的架构以满足您的要求。