RobotFrameWork 操作json格式数据

最近做接口测试,需要修改某个json数据串中某一个value值,于是找到了一个现成的json库,可以满足基本的测试需求。

1. Update Value To Json

接口测试相关库安装方法:
pip install requests
pip install robotframework-requests
pip install robotframework-jsonlibrary
pip install jsonpath(还需要安装jsonpath,不然读出来是空的,这个不用往robotframework里导入)

安装完成后,在robotframework中导入:JSONLibrary

json格式如下:

更新json串中isActive的值的用法如下:

此外,还有其它json关键字,暂未用上,大家可自行摸索

 

2. Get Json Value和Get From Dictionary

使用RF做接口测试,接口响应体里面的内容通常是一个json格式的字符串,可以直接使用Get Json Value(来自HttpLibrary.HTTP库)进行解析,通常用法如下

 

可以使用如/xx/xx/xx这样一层一层的去解析

但是通过get json value获取到的值,会发现如果是个字符串,是带有引号的

 

 

 

 但是很多时候预期是只需要里面的test,不带引号,这个时候就需要将json字符串转成字典对象了,需要用到To Json(来自RequestsLibrary库)或者Parse json(来自HttpLibrary.HTTP库),这两个关键字实现的功能是一样的,然后通过Get From Dictionary(来自Collections库)去获取对应key的value值

 

 

 

 

3. Get Value From Json

安装库:

pip install requests
pip install robotframework-requests
pip install robotframework-jsonlibrary
pip install jsonpath

RF 导入库:

  JSONLibrary

  RequestsLibrary

 

刚开始怎么都整不对,尤其是json.loads方法读取出来是一个list, 嵌套的dictionary,遍历的话感觉好麻烦,就像找个省事的办法,可以直接用jsonpath去获取,而且刚开始用jsonpath读取的结果是空的,后来终于整对了,希望有这个需求的可以省事一点。

比如json文件demo.json如下:

1.获取所有的name:

运行结果:

2.获取class1:

运行结果:


 

posted on 2021-08-10 15:14  bruce_he  阅读(3190)  评论(0编辑  收藏  举报