1224JMeter、Postman、Requests接口测试经验分享-POST请求(二)

此篇分享,献给我既爱又恨的自家公司的接口。在自学接口自动化测试中,这个Json参数格式的post请求,我爬了整整4天的坑,害的我中间过周末也头大。【这部分后面会分享】

(一)POST请求-application/json

此次分享主要讲的是Content-Type设置为application/json的POST请求,即以序列号JSON数据的形式提交的post请求。
此种json格式的参数和值 写成 { “key1”:“value1”, “key2”:“value2”}。
最好先学习简单的JSON编写知识【JMeter本身是不能对Json进行格式校验的】

在这里插入图片描述

JMeter访问此post请求【设置了断言】

A. 添加信息头管理。配置元件》 HTTP信息头管理器

B.在信息头编辑页面,输入content-type application/json

在这里插入图片描述

C.http请求,Body Data中输入json格式的参数
在这里插入图片描述
D.响应信息
在这里插入图片描述
E.请求信息
在这里插入图片描述

Postman访问此post请求【设置了断言】

A.把请求数据放在Body中;选择RAW;选择JSON[application/json];输入json格式的参数数据
在这里插入图片描述
B.Headers自动做了添加。
在这里插入图片描述
C.断言设置和实际的响应体
在这里插入图片描述

Requsets库 自动化测试访问此post请求【设置了断言,打印了很多信息】

最推荐的:直接使用json关键字来传参数,会被自动编码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(二)Fiddler抓包验证

Pycharm脚本中的三个请求发送后,使用Fiddler抓包,结果如下:

【Raw】

A.对应用例的代码:r_data = requests.post(url_1, json=t_dict)

在这里插入图片描述

B.对应用例的代码: r_data = requests.post(url_1, data=json.dumps(t_dict))

在这里插入图片描述

C.对应用例的代码: r_data = requests.post(url_1, data=demjson.encode(t_dict))

在这里插入图片描述

关于请求中的些许差别【在请求头中 多了一个Content-Type: application/json】,具体原理我也不甚懂;这儿主要是想展示下这些原始数据。
后面的请求头、响应体及JSON只展示第一个;

【请求头、响应头】

在这里插入图片描述

【请求的参数、响应的内容】

在这里插入图片描述

交流技术 欢迎+QQ 153132336 zy

猜你喜欢

转载自blog.csdn.net/zyooooxie/article/details/85233976
今日推荐