python接口自动化获取响应数据

做接口测试的时候,经常需要json处理,那么json处理到底什么情况下需要用到了

一、在做接口测试传参的时候,我们往往需要定义一个字典,含有key和value的值,如下:

data={
	"gameId": "2",
	"issueType": "5",
	"operatorId": "87"
}

然后请求的时候,会把data赋值给post请求,然而这样是错误的,data的数据类型为dict,接口请求的数据类型为字符串,只不过是json格式的字符串,但是本质是字符串是不会改变的,故需要通过json.dunps(data)转化成json格式的字符串,然后传递给post请求
二、在接口请求后返回值的时候,往往看到后面加一个“.json()”,为什么呢,如图:

import requests,json
data={
	"gameId": "2",
	"issueType": "5",
	"operatorId": "87"
}
# print(type(data))
header={'Content-Type': 'application/json'}
url='http://10.12.103.12:8889/v1/game/queryGameIssue'
re= requests.post(url=url,data=json.dumps(data),headers=header).json()
print(type(re))  #<class 'dict'>

发现在返回值后加“.json()”后,返回的数据类型变成了dict,这样就方便我们按照字典的操作去拿数据,如果不加“.json()”的话,返回值为:<class ‘requests.models.Response’>
三、如何拿到响应头里的cookie和其他信息呢
接口测试中,接口返回的cookie一般为cookiejar类,管理HTTP cookie值、存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。实际工作中一般通过如下方式把响应的cookie转化成cookie的字符串:

cookies = requests.get(url).cookies
cookie = requests.utils.dict_from_cookiejar(cookies)

此时我们可以将cookie写入json文件,供后续接口使用

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值