robotframework做接口测试tojson关键字怎么用

这篇文章给大家分享的是有关robotframework做接口测试 to json关键字怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

专注于为中小企业提供成都做网站、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业东海免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。首先先做下概念介绍,因为是做测试之前对编码了解较少,所以想要系统学习,一些基础理论还得学习下。

JSON 语法 是 JavaScript 对象表示法语法的子集。

数据在名称/值对中 kye:value (在双引号中),后面写一个冒号,然后是值: “firstName” : “John”

数据由逗号分隔 ,

花括号保存对象 {}

方括号保存数组 []

对象可以包含多个名称/值对:

{ “firstName”:“John” , “lastName”:“Doe” }

数组可包含多个对象:

{

“employees”: [

{ “firstName”:“John” , “lastName”:“Doe” },

{ “firstName”:“Anna” , “lastName”:“Smith” },

{ “firstName”:“Peter” , “lastName”:“Jones” }

]

}

接口测试处理最多的就是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自带的,直接引入即

取json值两种情况:

1. 取json值:使用get json Value 关键字

{

“id”: “1496654252”,

“code”: 0,

“msg”: “ok”

}

robotframework做接口测试 to json关键字怎么用

通过单独/xx/xx/xx这样一层一层的去解析当然也可以取数组中对象

robotframework做接口测试 to json关键字怎么用

但是这样查出来的结果是个字符串,是带有引号的

robotframework做接口测试 to json关键字怎么用

如果想去掉双引号,需要将json字符串转成字典对象。

2. 取json中用中括号的部分[]

需要把json的object格式转成python的Dictionary,

几种方法:

(1)RequestsLibrary中的to json关键字

(2)HttpLibrary.HTTP中的parse json关键字

(3)json中的loads关键字

另外说下:无锡人流费用 http://www.xasgfk120.com/

loads():将json数据转化成dict数据

dumps():将dict数据转化成json数据

robotframework做接口测试 to json关键字怎么用

结果:字典格式

注意返回结果中:

pretty_print=false 默认是false,将Content 从Json转换为字典类型,如果定义为true,将Content从字典类型转换为Json

'game_id’变成了u’game_id’是因为发生了类型转换,str会转换成unicode

json.loads()用于将str类型的数据转成dict。

可以参考:import json

name_emb = {‘a’:‘1111’,‘b’:‘2222’,‘c’:‘3333’,‘d’:‘4444’}

jsDumps = json.dumps(name_emb)

jsLoads = json.loads(jsDumps)

print(name_emb)

print(jsDumps)

print(jsLoads)

print(type(name_emb))

print(type(jsDumps))

print(type(jsLoads))

{‘a’: ‘1111’, ‘c’: ‘3333’, ‘b’: ‘2222’, ‘d’: ‘4444’}

{“a”: “1111”, “c”: “3333”, “b”: “2222”, “d”: “4444”}

{u’a’: u’1111’, u’c’: u’3333’, u’b’: u’2222’, u’d’: u’4444’}

取值

使用Get From Dictionary关键字,此关键字来源与Collections库;可以看到Get From Dictionary后面跟着两个参数,分别是json转成的Dictionary,取第一个对象内的值,从0下标开始

第一个参数${var1todict[0]}是指上一步json转成的dictionary,注意要有下标,从0开始:[0];第二个参数是我们要取的key。

robotframework做接口测试 to json关键字怎么用

感谢各位的阅读!关于“robotframework做接口测试 to json关键字怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


名称栏目:robotframework做接口测试tojson关键字怎么用
当前链接:http://azwzsj.com/article/gjsesi.html