用robotframework做接口测试,现在用的最多的就是json格式的数据,刚开始接触会感觉一脸懵逼,不知道怎么去取里面的值。在这里简单介绍一下,其实本身json取值不会太难,只要理解层次关系,一层一层的挖,还是比较好处理的。
主要用一下json示例:
{
"id": "1496654252",
"code": 0,
"msg": "ok",
"data": {
"tag_list": [
{
"game_id": "28",
"game_name": "王者荣耀"
},
{
"game_id": "29",
"game_name": "镇魔曲"
}
]
}
}
一、首先说一下引入库,做接口测试少不了依赖库,但是json解析会涉及如下几个库:
1、RequestsLibrary,安装命令:pip install requests
2、HttpLibrary,安装命令:pip install robotframework-httplibrary
3、HttpLibrary.HTTP,这个库是在HttpLibrary中,HTTP是HttpLibrary的一个class
4、json,安装命令:pip install jsonpatch
5、Collections,这个库是python自带的,直接引入即可
6、HttpLibrary.HTTP
二、对于大部分的json值,直接使用get json Value关键字即可
三、取json中用中括号的部分[]
1.首先需要先把json的object格式转成python的Dictionary,在第一点中引入的几个包都涉及了这个转换,下面一一举例
(1)RequestsLibrary中的to json关键字
(2)HttpLibrary.HTTP中的parse json关键字
(3)json中的loads关键字
上面三个库用任一个关键字都可以,其实去看源码,就会发现,不管是to json,还是parse json,其实用的都是loads方法
2.取值
使用Get From Dictionary关键字,此关键字来源与Collections库;可以看到Get From Dictionary后面跟着两个参数,分别是json转成的Dictionary,取第一个对象内的值,从0下标开始