使用Python接口自动化测试post请求和get请求,获取请求返回值

引言
我们在做python接口自动化测试时,接口的请求方法有get,post等;get和post请求传参,和获取接口响应数据的方法;

请求接口为Post时,传参方法
我们在使用python中requests库做接口测试时,在做post接口测试传参的时候,需要传入请求体,我们把请求体定义成一个字典类型含有key和value的值,如下

然后请求的时候,会把data赋值给post请求,然而这样是错误的,data的数据类型为dict,接口请求的数据类型为字符串,只不过是json格式的字符串,但是本质是字符串是不会改变的,如下图,直接使用data参数会提示传参失败,没有请求体;

 一般情况下,使用request传参时,会传入data或者json,什么情况下传data或者json,我们在接口文档或者系统接口请求时查看它的Content-Type的类型,如下图我们查看登录接口为:application/json,为json格式,则使用json参数

方法一:通过json.dunps(body)转化成json格式的字符串,然后传递给data;

 方法二:在传参时直接格式化成json格式传参:

如果content-type为application/x-www-form-urlencoded,为表单格式,则使用data参数

 

 获取接口请求响应数据
我们在使用python接口测试过程中往往会对一个请求接口获取返回值。来进行断言或者传入其他接口 使用,下面我们来看获取返回结果的几种方法;


request 接口请求时,不对数据做处理时,返回数据为requests.models.Response,无法获取到返回值

此时我们需要对返回数据做处理,如下;
response.text # 响应文本数据(字符串)

response.status_code # 响应的状态码,测试时可以用来做接口的断言
 

response.json() # 返回的数据类型变成了dict,这样就方便我们按照字典的操作去拿数据

通过字典的方法去获取响应数据,不需要进行转化,比较方便

response.content # 响应返回的内容(二进制),一般用来获取返回数据为文件,图片,或者爬取视频

response.cookies # 获取返回的cookies信息

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/140028.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用 Disco 将黑白照片彩色化

Disco 是一个基于视觉语言模型(LLM)的图像彩色化工具。它使用 LLM 来生成彩色图像,这些图像与原始黑白图像相似。 本文将介绍如何使用 Disco 将黑白照片彩色化。 使用 Disco 提供了一个简单的在线演示,可以用于测试模型。 访问…

C#简单晶圆wafermapping显示示范demo

点击,双击可改变颜色 预设5行8列数据: using (fratte.at.WafermapDisplay.Form1 form_show new fratte.at.WafermapDisplay.Form1()){int[,] data_demo new int[,]{{ 0,0,0,1,0 },{ 0,5,1,0,0 },{ 1,7,6,2,3 },{ 1,0,1,2,3 },{ 0,2,0,2,3 }, { 1,5,6,…

“1688商品评论接口:打造完美电商口碑的秘密武器!“

1688商品评论接口是一种供卖家使用的接口,可以让卖家通过该接口维护商品的评论信息,包括评论内容、评分、评论时间等等。 通过使用该接口,卖家可以方便地管理商品的评论信息,包括查看、修改、删除评论等操作。同时,该…

2023秋招华为技术岗线上面试经历

2023/10/16 个人情况:博士,预计2024年毕业,参加了2023秋招,华为应聘到3面主管面。 下面按招聘流程顺序,记录我的面试经历。因为想写详细一点的独立文章,所以想来想去还是放到CSDN上。 1. 宣讲会 宣讲会…

Radius OTP完成堡垒机登录认证 安当加密

Radius OTP(One-Time Password)是一种用于身份验证的协议,它通过向用户发送一个一次性密码来验证用户的身份。使用Radius OTP可以实现堡垒机登录,以下是一些实现步骤: 1、安装Radius服务器 首先需要安装Radius服务器…

QTday02(常用类、UI界面下的开发、信号与槽)

今日任务 1. 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"&#x…

基于YOLOv8模型的水下目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的水下目标检测系统可用于日常生活中检测与定位鱼、水母、企鹅、海鹦、鲨鱼、海星、黄貂鱼,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统…

基因组的Phasing原理

1.Phasing的概念 Phasing,或者说Genotype Phasing,它的中文名有很多:基因定相、基因分型、单倍体分型、单倍体构建等在不同的语境下都有人说过。但不管如何,所谓Phasing就是要把一个二倍体(甚至是多倍体)基…

license授权方案

文章目录 概要license文件内容架构流程图实现 概要 当我们的商业软件售卖给客户后,往往需要对分发出去的软件进行限制,比如指定使用者,限制软件使用有效时间,声明版权信息、限制软件使用磁盘大小等。很多场景又是离线使用&#x…

使用 Elasticsearch 作为向量数据库:深入研究 dense_vector 和 script_score

Elasticsearch 是一个非常强大且灵活的搜索和分析引擎。 虽然其主要用例围绕全文搜索,但它的用途广泛,足以用于各种其他功能。 其中一项引起许多开发人员和数据科学家关注的功能是使用 Elasticsearch 作为向量数据库。 随着 dense_vector 数据类型的出现…

一文带你GO语言入门

什么是go语言? Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的主要特点包括:- 简洁和简单 - 语法简单明快,易于学习和使用 特点 高效 编译速度快,执行效率高 并发支持 原生支持并发,利用goroutine实现高效的并发…

金山终端安全系统V9.0 SQL注入漏洞复现

0x01 产品简介 金山终端安全系统是一款为企业提供终端防护的安全产品,针对恶意软件、病毒和外部攻击提供防范措施,帮助维护企业数据和网络。 0x02 漏洞概述 金山终端安全系统V9.0 /inter/update_software_info_v2.php页面存在sql注入漏洞,该…