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:
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)