Python操作Json文件之JSON参数实战

news/2025/2/19 8:23:23/

json文件的请求是我们学习测试以及编写代码必须要知道的,例如在POST请求中另一个经常用到的参数是json,如果请求头中Content-Type对应的value值是application/json,入参一般是data类型,那么我们就可以使用json序列化入参方式进行尝试仔Python中编写该请求的代码,如果是json格式那就不需要做序列化

场景如下:现有某CSDN的登录页面接口请求信息以及一个以Json文件类型梳写好的登录请求参数信息,我们需要在里面去取对应的参数作为入参

01.测试请求信息

CSDN请求登陆页面接口请求相关信息

General
Request URL: https://passport.csdn.net/v1/register/pc/login/doLogin
Request Method: POST
Status Code: 400 
Remote Address: 101.201.169.146:443
Referrer Policy: unsafe-urlRequest Headers
:authority: passport.csdn.net
:method: POST
:path: /v1/register/pc/login/doLogin
:scheme: https
accept: application/json, text/plain, */*
accept-encoding: gzip, deflate, br
accept-language: zh-CN,zh;q=0.9
content-length: 1998
content-type: application/json;charset=UTF-8
cookie: uuid_tt_dd=10_36586516840-1587717225136-370121; dc_session_id=10_1587717225136.513733; __gads=ID=c2db412e8df15c9d:T=1587717226:S=ALNI_MbYL4RFW5ZKcfC9oe1Q9S4RdO8DzA; dc_sid=cddcb30af3a1cdf554c4923ac08b7354; c_first_ref=www.baidu.com; TY_SESSION_ID=a4bd90e5-4dff-48f0-9612-161f3043cc8b; UN=tester_sc; BT=1588988903903; Hm_ct_6bcd52f51e9b3dce32bec4a3997715ac=6525*1*10_36586516840-1587717225136-370121!5744*1*tester_sc; c_utm_source=blogxgwz3; aliyun_webUmidToken=T3DBFBD53223E68DDFEADD225D4D94C8666740FED8186ADC89B2E2C94A6; c_first_page=https%3A//blog.csdn.net/wshlp123456/article/details/89194095; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1591328229,1591339908,1591426433,1591426556; announcement=%257B%2522isLogin%2522%253Atrue%252C%2522announcementUrl%2522%253A%2522https%253A%252F%252Fbss.csdn.net%252Fm%252Ftopic%252Flive_recruit%253Futm_source%253Dannounce0515%2522%252C%2522announcementCount%2522%253A0%252C%2522announcementExpire%2522%253A3600000%257D; c_ref=https%3A//blog.csdn.net/tester_sc; SESSION=cf7f309a-7d85-482e-ba96-046ea2f23861; Hm_up_6bcd52f51e9b3dce32bec4a3997715ac=%7B%22islogin%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isonline%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22isvip%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22uid_%22%3A%7B%22value%22%3A%22tester_sc%22%2C%22scope%22%3A1%7D%7D; dc_tos=qbhy3j; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1591433695
origin: https://passport.csdn.net
referer: https://passport.csdn.net/login
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
x-requested-with: XMLHttpRequest
x-tingyun-id: im-pGljNfnc;r=433788193Request Payload
{loginType: "1", pwdOrVerifyCode: "123456", userIdentification: "695214899@qq.com",…}
loginType: "1"
pwdOrVerifyCode: "123456"
uaToken: "123#Z3DDbDyePRHnIDbxlDnP8ldEzQXHO1A9926XsWLyll/HzaHKDy0d6RKAfAIMr6I0mHoWoX8WU+Cxu5lVzE2Z1wU0hJhfKl8UMTxtD3qJwyz9foagjKFBgBSFvsfnUEROhKqrw/sqrlhBC2jaapUtmZgokP2jzoin2ZJrKiGjNVzYsnQXdN58eRwHGeclOIn2HRCRL+z6P0pH4S3ZMKPtNFzsskFdhzcyCAzYGTJP8lYlQGMK6g3iOZUrIZB0/RGUk7bK1ExO2dDLKoU4vJxJnyH+xuUhBw6nzddZ6C3thXrKtYG3nWOpl54P5D+rwKNAp5LQacd69vkOv+ZXDbMiXaMRbm+DjoFfEcYVrLg5/qDOhBqQbuIKRSFqWmkr/A1Ha/Z0t1s6CAwLfCe1+OwJ8+umjowpY5k/kBAFywonobCO1ET24dmd+SvHojjT9aXr3SYo8Jk8lJeHQl86AOCz8t9IGEvOAigIbzEc1F2rVUUWlX2TrFuX/djK5cdJETN+1OlliiMNCz3qrBs9APnvcgQcDg23NaVrTbKV8R23TDDJu+NQXm5/Ba6Vvom5Z8D+HDWwf6EId0VlLvSSwwErNlC5sZ2FTUZ8kRXoevFXPpQkqrJ2e7yqpwQVu1NnP/J11BGX6xoHHvHyMinJtoSUQ0buDQma4c1ooC4UmZJfmhb5X2pLZ7idm/f+vpi2sBWHKIzARiXYXCB4CjiLq9Yw8kCO+ZS+9JYf2c5TK8OqSk1Lcp/rtghnmajPevwqingpCjPAmDrq5xsl1NjQ27XJddSmmPQzbh03WkSWqz8NHDclAuxB+LO6uGfvKLPr6zGgzl2XRstVBEH5OI2cknRSHRuAdohuL0XFhWb4APXFPLTNztLm3pWTUukN43RRyQ8LfqMtWP1PcFoOMldhdncSUsY5UkmVxEWiN6zQdtVUtD51WC9SjHY5f1k56rDApwFEZrclKfidDBWCkSQF+65C73zeZ11CYZb3MsJrSYBXzwVURCHR3MFpe0i9/tBVD6z+yPnMzvawMgOgxYrc6Zk513NOLFfqzBC4sf3MKawjokbkEadAnL8VdeBf++wguA6i4iFBnGhNb8CHnfAtnsd7SGn5NElKFen0MMQUIm6/+QZlyhS7FEFePwEGIWJqw0id4S2KWVO2VEz2POYUyvXQjGqSX0CSTStQBY/olqu5eblj6SN1Of5ajMaVHXyFF4Nc78648keSg4/2tiBxdD0GoDdLzFbQ5w+KhWaHg/NOdtV0ahgjyhqHjt62gpFIVeoF0UVRQBpzcO7hup/MEkNzaIXtiqex7jfKgo+YrK9OUAO1QnTVAhinbaFXRMgC4v+v+U8nIJSrBheOJyDlomeMjgptFeChcJfV7HFctOizqmvoTGE/FPRNITkd7yU2ZmwDewvIdW3fhbZ3fpOFb+pd2t5e1IVYY0sJ/S8m9znWG+V7COtVuvSzgxujkc8BHVKkxSW46qJY0z/qV01NSQ9bGgiKmoAKE81xMIs/SFW/3PvJ0PU3FFmaUa+PyzSlU07ai4hzsE1CtjARYBLbqa1/KHNMYdpo3qSg4n343OE6ugSoBwZeQm+SA9VYKvyEOEOfxbIiEGJBICkLxH8n0AwZkXxtrAIoTKUYGFpAW0C1Q/PMC+JrLiTPXaL9HH5VEORHW4QPLzh9A3QePBhwna9NRDnsU2FkmFkKFx/oLRsSZFA+q4xK1gcuZOeciiCZRNUNUsIta3jtZsaoTmROJHf4OH2xTGwQ/D/tDKEmaf1nG63Jz2g1F5EkBJVcr4MU/F5eVdjGS26vraJs3XHFGNT8HSbVG85="
userIdentification: "695214899@qq.com"
webUmidToken: "T68B9D4FE5D5F6DD0A24CACC882FC89BFC2B67F9DF2F9B6488E0B8109F4"

02.json入参文件信息

我们自行创建的 login.json 文件,Json文件内参数内容

1.一个登录请求入参

2.一个添加购物车请求的入参

{"login": {"usename": "95214899@qq.com","loginType":"1","passwd": "123456","uaToken":"123#Z3DDbDyePRHnIDbxlDnP8ldEzQXHO1A9926XsWLyll/HzaHKDy0d6RKAfAIMr6I0mHoWoX8WU+Cxu5lVzE2Z1wU0hJhfKl8UMTxtD3qJwyz9foagjKFBgBSFvsfnUEROhKqrw/sqrlhBC2jaapUtmZgokP2jzoin2ZJrKiGjNVzYsnQXdN58eRwHGeclOIn2HRCRL+z6P0pH4S3ZMKPtNFzsskFdhzcyCAzYGTJP8lYlQGMK6g3iOZUrIZB0/RGUk7bK1ExO2dDLKoU4vJxJnyH+xuUhBw6nzddZ6C3thXrKtYG3nWOpl54P5D+rwKNAp5LQacd69vkOv+ZXDbMiXaMRbm+DjoFfEcYVrLg5/qDOhBqQbuIKRSFqWmkr/A1Ha/Z0t1s6CAwLfCe1+OwJ8+umjowpY5k/kBAFywonobCO1ET24dmd+SvHojjT9aXr3SYo8Jk8lJeHQl86AOCz8t9IGEvOAigIbzEc1F2rVUUWlX2TrFuX/djK5cdJETN+1OlliiMNCz3qrBs9APnvcgQcDg23NaVrTbKV8R23TDDJu+NQXm5/Ba6Vvom5Z8D+HDWwf6EId0VlLvSSwwErNlC5sZ2FTUZ8kRXoevFXPpQkqrJ2e7yqpwQVu1NnP/J11BGX6xoHHvHyMinJtoSUQ0buDQma4c1ooC4UmZJfmhb5X2pLZ7idm/f+vpi2sBWHKIzARiXYXCB4CjiLq9Yw8kCO+ZS+9JYf2c5TK8OqSk1Lcp/rtghnmajPevwqingpCjPAmDrq5xsl1NjQ27XJddSmmPQzbh03WkSWqz8NHDclAuxB+LO6uGfvKLPr6zGgzl2XRstVBEH5OI2cknRSHRuAdohuL0XFhWb4APXFPLTNztLm3pWTUukN43RRyQ8LfqMtWP1PcFoOMldhdncSUsY5UkmVxEWiN6zQdtVUtD51WC9SjHY5f1k56rDApwFEZrclKfidDBWCkSQF+65C73zeZ11CYZb3MsJrSYBXzwVURCHR3MFpe0i9/tBVD6z+yPnMzvawMgOgxYrc6Zk513NOLFfqzBC4sf3MKawjokbkEadAnL8VdeBf++wguA6i4iFBnGhNb8CHnfAtnsd7SGn5NElKFen0MMQUIm6/+QZlyhS7FEFePwEGIWJqw0id4S2KWVO2VEz2POYUyvXQjGqSX0CSTStQBY/olqu5eblj6SN1Of5ajMaVHXyFF4Nc78648keSg4/2tiBxdD0GoDdLzFbQ5w+KhWaHg/NOdtV0ahgjyhqHjt62gpFIVeoF0UVRQBpzcO7hup/MEkNzaIXtiqex7jfKgo+YrK9OUAO1QnTVAhinbaFXRMgC4v+v+U8nIJSrBheOJyDlomeMjgptFeChcJfV7HFctOizqmvoTGE/FPRNITkd7yU2ZmwDewvIdW3fhbZ3fpOFb+pd2t5e1IVYY0sJ/S8m9znWG+V7COtVuvSzgxujkc8BHVKkxSW46qJY0z/qV01NSQ9bGgiKmoAKE81xMIs/SFW/3PvJ0PU3FFmaUa+PyzSlU07ai4hzsE1CtjARYBLbqa1/KHNMYdpo3qSg4n343OE6ugSoBwZeQm+SA9VYKvyEOEOfxbIiEGJBICkLxH8n0AwZkXxtrAIoTKUYGFpAW0C1Q/PMC+JrLiTPXaL9HH5VEORHW4QPLzh9A3QePBhwna9NRDnsU2FkmFkKFx/oLRsSZFA+q4xK1gcuZOeciiCZRNUNUsIta3jtZsaoTmROJHf4OH2xTGwQ/D/tDKEmaf1nG63Jz2g1F5EkBJVcr4MU/F5eVdjGS26vraJs3XHFGNT8HSbVG85=","webUmidToken": "T68B9D4FE5D5F6DD0A24CACC882FC89BFC2B67F9DF2F9B6488E0B8109F4"},"addcard": {"name": "apple","amount": "15","price": "0.5"}

03.Python实操

那么我们如何在python中将以上的接口请求运行起来呢,我们一起来看看,创建一个 operationjson.py 用于此次代码的编写,我们可以将 login.json跟它放在同一级目录,进入代码

# coding=utf-8import requests
import  
# 引用requests json 模块def getHeaders():headers = {'content-type': 'application/json;charset=UTF-8','user - agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}return headers
# 定义请求头类 添加 "content-type "" user - agent "fp = open('F:\python3\python_code\Study\login.json')
datas = json.load(fp)
print(datas['login'])
# python进行操作json文件,打开我们的login.json'文件将参数写入变量下面引用def logins():r = requests.post(url='https://passport.csdn.net/v1/register/pc/login/doLogin',data=json.dumps(datas['login']),headers=getHeaders())print(json.dumps(r.json(), indent=True, ensure_ascii=False))
# python进行对应json格式参数接口测试实战if __name__ == '__main__':logins()

此次只是基于python接口测试方面的学习,如果在现实生活中单单几个接口没必要这么大费周章,很多开源工具可直接跑单个业务或者多个业务的接口测试,自动化的目的就是复杂事情简单做,简单事情尽量不做。Python操作Json文件之JSON参数实战分享就到这里,不断学习,不断进步!

基于python接口自动化测试的资料小编整理出来推荐大家学习公众号后台回复0607领取

- THE END-

近期推出福利优惠测试技术进阶提升圈子以及知识星球点击原文链接或者戳#文字链接查看详情#知识星球# #测试提升圈#

如果您还想了解更多测试的相关知识,请关注下方二维码:测试资料集合更新了,可在公众号后台回复"989""python"进行领取最新资料包目录如下

"关注Python测试社区,查看更多精彩文章"

点击「在看」让更多人看到!


http://www.ppmy.cn/news/501309.html

相关文章

echarts 柱状图背景重叠组合,而非并列

本文主要介绍柱状图重叠,实现条纹背景图和背景色的组合图。 一、关键性代码 // base64位背景图 此处可以改为相对路径 var barImage = ./img/chart_bg.png; // 在线上转base64位工具 https://www.sojson.com/image2base64.html var barImage = data:image/png;base64,iVBORw…

隐私链或成监管和虚拟货币犯罪打击新挑战?

匿名币、混币器等是大家在当前案件侦办中常遇到的资金追踪“拦路虎”,而在区块链中还有一些隐私保护方案(隐藏交易相关信息),可能大家较少涉猎,在当前的区块链相关案件中也还没有明显的表现,我们也希望通过…

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建

1. 中科世为Z6S串口屏 中科世为官网 最近到手一块中科世为的串口屏,开搞! Z6S串口屏中运行的是 FlyThings OS 嵌入式物联网界面系统,FlyThings OS是中科世为基于Linux为操作系统的核心并加入了GUI,硬件层,媒体层&…

IW会话参数、请求信息、及其响应信息

目录 IW会话参数、请求信息、及其响应信息 一、IW新会话参数 1、MS Edge浏览器: 2、Delphi FMX APP: 二、IW请求信息-App客户端 三、IW请求信息及其响应信息-App客户端 IW会话参数、请求信息、及其响应信息 https://www.DNSDNS.com/.env &#xf…

SDH与MDH参数法对比

MDH 与 SDH 参数法对比 DH (Denavit- Hartenberg) 法在matlab robotics toolbox中有SDH和MDH之分。 我先看的Craig的书,我自己一般习惯用MDH,但是后来上课的时候又是讲的SDH法,整得我很分裂,现在看Bruno Siciliano的Robotics也是…

小程序利用background-image设置背景

起初用一般css写法: .bg{background-image:url(../../images/login_b.jpg); }报错信息如图: 根据这篇分享,快速解决了这个问题。 1.通过图片转换Base64网站,将图片转成base64格式的文本复制下来。 2.将文本黏贴到url()中&…

【MYSQL篇】一文了解mysql事务

文章目录 MYSQL事务事务的四大特性1、原子性2、一致性3、隔离性4、持久性 事务的并发1、脏读2、不可重复读3、幻读 隔离级别Read UncommittedRead CommittedRepeatable ReadSerializable MySQL Innodb 对隔离级别的支持实现方案LBCCMVCC 总结 关于 MYSQL 事务在面试的时候&…

【面试】你知道数据库能抗多大并发压力吗?

文章目录 前言一、一般业务系统运行流程图二、一台4核8G的机器能扛多少并发量呢?三、高并发来袭时数据库会先被打死吗?四、数据库架构可以从哪些方面优化?4.1、根据业务系统拆分多个数据库机器优化方案4.2、读写分离架构优化方案4.3、分库分表…