Python接口测试之Requests(七)

基于python+unittest +requests接口测试    谈到接口测试,大家都不会感到陌生。接口测试的工具和实现方式也有很多,比如ant+jmeter+jemkins、postman.....等都可以去实现,但是今天我要介绍的是基于python+unittest +requests的接口测试,至于接口测试前的准备工作、原理....等其他的需要掌握的知识点,大家自己可以下去查找资料学习。        1、环境介绍:              采... 阅读详情

Python接口测试之Requests(七)

 

在python的标准库中,虽然提供了urllib,utllib2,httplib,但是做接口测试,requests真心好,正如官方说的,“让HTTP服务人类”,一言以蔽之,说明一切,关于它的方法论这里不是讨论的重点,重点是我们要开始学习它。

安装request库的方式非常简单,安装命令为:

pip install requests

这样就会自动下载并且按照成功,进入到python的命令行模式下,如果可以导入request,说明requests库已经安装好,见如下的截图:

Python接口测试之Requests(七)

 

在HTTP的请求中,我们知道,最常使用的分别有GET,PUT,DELETE,POST,通过request库也是可以实现的,见如下的代码:

Python接口测试之Requests(七)

 

#!/usr/bin/env python

#coding:utf-8

import requests

requests.get('https://github.com/timeline.json')

requests.put('http://httpbin.org/put')

requests.post('http://httpbin.org/post')

requests.delete('http://httpbin/ddelete')

事实上,每一个请求对应的参数是不同的,在这里我们有必要对每个请求的参数来了解并学习,先来看GET请求的参数,见源码部分:

Python接口测试之Requests(七)

 

GET请求中,第一个参数是url,第二个请求是params,第三个参数是字典,比如我们实现在百度阅读搜索无涯编写的《selenium-python自动化测试》,实现这样的一个过程请求的 url为:

http://yuedu.baidu.com/ebook/3c0077aaa32d7375a41780bb?_searchquery=selenium-python%D7%D4%B6%AF%BB%AF%B2%E2%CA%D4

那么通过代码实现的方式为:

Python接口测试之Requests(七)

 

#!/usr/bin/env python

#coding:utf-8

import requests

r=requests.get(url='http://yuedu.baidu.com/ebook/3c0077aaa32d7375a41780bb',params={'_searchquery':'selenium-python%D7%D4%B6%AF%BB%AF%B2%E2%CA%D4'})

print r.url

我们看请求的URL,见执行后的截图:

Python接口测试之Requests(七)

 

在GET请求中,我们把params的参数成为URL参数,也就是在URL中传递参数,事实上,在每一个GET的请求过程中,得看具体的请求过程。接下来我们来看POST请求的参数,见该部分的源码截图:

Python接口测试之Requests(七)

 

我们可以看到,在POST请求中,参数是URL,data,json以及字典,data其实就是以表单形式的数据,或者说我们只需要把一个字典给data作为参数来传递,来看这样的一个请求,请求的URL为:http://m.cyw.com/index.php?m=api&c=cookie&a=setcity,参数是城市的ID,然后返回这个城市,来看这样的一个POST请求,见实现的代码:

Python接口测试之Requests(七)

 

#!/usr/bin/env python

#coding:utf-8

import requests

r=requests.post(url='http://m.cyw.com/index.phpm=api&c=cookie&a=setcity',data={'cityId':438})print r.json()

见返回的json数据,见截图:

Python接口测试之Requests(七)

 

事实上,在一个post请求中,这是一个简单的请求,在工作的时候,很多时候是登录成功后,返回一个token,然后后面的每一个请求都带这个参数token去请求,也就是说,在接口自动化测试中,首先要做的就是登录获取token这个参数,下来后面的请求把获取的这个参数token带上去请求或者操作系统的其他业务,下面来看实现这样的一个过程代码,实现的思路把登录写成一个方法,然后把token返回,再做下一个请求的时候,把token当作参数来传递,具体实现见如下的代码:

Python接口测试之Requests(七)

 

注释:如上的代码部分被红色的掩盖,希望理解,再如上的代码中,我们可以看到,登录成功后,返回了token,然后在执行其他接口的时候,直接把返回的token当作是参数来处理,但是有一点是必须得注意的,必须先登录,再执行登录后的接口,要不会提示错误的。

使用requests发送一个请求后,我们可以获取这个请求的响应内容,HTTP的状态码,以及URL,我们来看这样的一个过程,比如请求bing,我们获取text,stats_code,url和headers,见实现的代码:

Python接口测试之Requests(七)

 

#!/usr/bin/env python

#coding:utf-8

import requests

r=requests.get('http://www.bing.com')

print u'HTTP状态码:',r.status_code

print u'请求的URL:',r.url

print u'获取Headers:',r.headers

print u'响应内容:',r.text

见该代码执行后的结果:

Python接口测试之Requests(七)

 

在一个POST的请求中,很多时候,我们需要把获取的响应内容,进行反序列化成json字符串内容,来断言该接口是正确的还是错误的,我们不可能对所有获取的响应内容来进行做断言,这样是很不明智的,我们只会截取关键的信息来做断言,见下面一个网站的登录请求,以及获取的响应内容经过反序列化后的内容,见实现的源码:

Python接口测试之Requests(七)

 

事实上,经过反序列化很麻烦的,在requests库中有一个内置的JSON解码器,来帮助我们处理JSON数据,我们重构下刚才的代码,可以精简反序列化的过程,见代码:

Python接口测试之Requests(七)

 

什么是请求头,或者说在一个HTTP的请求中,headers充当了什么角色和它有什么作用,在https://en.wikipedia.org/wiki/Header_(computing)有很详细的解释,感兴趣的同学可以看下,headers分为二部分,一部分是request headers,另外部分是response headers,

见如下的截图:

Python接口测试之Requests(七)

Python接口测试之requests 1.简介 requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时 经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求 2.前提 要下载requests pip install requests 3.Get请求 1.无参数请求 r=requests.get('http://www.baidu.com') 2.有参数请求 payload = {'key1': 'value1', 'key2': 'value2', 'key3': No 阅读详情

相关推荐

接口测试框架Requests

python内置了HTTP库 urllib,可以用于发送http请求。基于Python的第三方库Requests是对urllib的再次封装,相比urllib更加简洁易用。Requests库不仅用于接口测试,还用在Python爬虫、量化交易等。本文介绍Requests库的使用方法。 Requests HTTP接口测试涉及到以下几个方面: 构造请求方法:get、post、put、 delete、head … 构造请求体:form、json、xml、 binary 分析响应结果:status code、 res

测试开发小记 1053

requests做接口测试

对于字典,json会假设key是字符串(字典中的任何非字符串key都会在编 码时转换为字符串),要符合JSON规范,应该只对python列表和字典进行编码。注意:在某些get请求中,需要辨别用户身份,因此会需要在请求中发送cookie内容,如某些需要用户登录才能访问的页面,在接下来的文章中会进行讲解。在很多情况下,想要发送的数据并非为表单形式,而是一个json格式的字符串,如果传递给data关键字的内容不是一个dict,而是。在上面的内容中,已经展示了用text来获取相应的内容,返回的内容为string。

YLF123456789000的博客 1008

python代码利用requests模块执行接口测试

前言:很多人听过接口测试,但是没了解过接口测试,现在这篇文章带你了解接口测试,相信我这并不难,这反而很有趣 ** 一、准备工作 ** 准备python3 环境 准备requests库 二、准备两份接口文档为接下来的测试做准备 这篇文章只采用常用的接口请求方法:get,post 所以我只准备了get方法和post方法的接口文档及接口 get接口文档 接口地址:http://v.baidu.com/v...

tester 946

requests介绍与使用

requests介绍 requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求 Requests响应 r.status_code 响应状态码 r.heards 响应头 r.cookies 响应cookies r.text 响应文本 r. encoding

偷懒的肥猫 3万+

使用Python requests进行接口测试

文章目录1.接口测试的背景2.python实现接口自动化测试2.1 安装requests库:2.2 http测试工具:3.requests简单介绍4.request的get使用示例:4.1 get请求4.2 带参数的get4.3 带header的get5.request的post使用示例:1、带数据的post2、带header的post3、带json的post4、带参数的post5、普通文件上传6、定制化文件上传7、多文件上传8.流式上传6.Cookie&Session6.1获取Cookie6.2

Vegetable的博客 780

STM32 I²C外设深度解析:时序配置、主从模式与可靠性工程

I²C是一种广泛应用于嵌入式系统的同步串行总线协议,其核心在于精确的时序控制与可靠的电气特性匹配。理解SCL/SDA信号建立/保持时间、上升下降沿约束及硬件滤波机制,是保障通信稳定的基础;STM32通过I2C_TIMINGR寄存器实现对PRESC、SCLH、SCLL、SDADEL和SCLDEL等关键参数的精细调控,直接影响tSU:DAT、tVD:DAT等标准时序合规性;该能力支撑工业级高可靠场景下的主从双向通信、时钟拉伸管理与错误恢复;本文聚焦STM32平台,结合寄存器级配置、状态机行为与实战调试经验,系统

weixin_42146230的博客 87

python+request接口测试

**1、**首先,我们先来理一下思路。 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果(有的需要数据库辅助) —> 生成测试报告(html报告) 那么,我们就根据这样的过程来一步步搭建我们的框架。在这个过程中,我们需要做到业务和数据的分离,这样才能灵活,达到我们写框架的目的。 接下来,我们来进行结构的划分。 我的结构是这样的: ​​​​​​ common:存放一些共通的方法 result:执行

weixin_56394378的博客 5917

告别臃肿!保姆级教程:用NTLite深度精简Win10,打造你的专属纯净系统(附完整组件移除清单)

本文提供了一份详细的NTLite教程,帮助用户深度精简Windows10系统,移除冗余组件并优化性能。从准备工作到组件移除清单,再到系统配置优化和无人值守安装,逐步指导用户打造专属纯净系统。附完整组件移除清单和实战经验,确保系统稳定高效运行。

weixin_30945039的博客 865

Python自动化测试之reques详解

这一篇教程只是接口测试中的小试牛刀,后续还有太多需要学习的,requests 库也不光可以用来做接口测试,包括爬虫之类的也是可以的,技术之路上永无止境,我们测试人员也需要多多努力。进阶Python接口自动化测试必备教程(2023全网最详细)

dad22211的博客 765

DySAT+: Enhancing Dynamic Graph Representation Learning with Multi-Head Self-Attention and Temporal-

本文深入探讨了DySAT+模型在动态图表示学习中的创新应用,通过多头时空注意力机制和层级信息融合策略,有效解决了动态图数据中的时间维度信息捕捉和结构演变动态适应问题。该模型在社交网络异常检测和金融交易网络分析等场景中表现出色,显著提升了预测准确率和响应速度。

weixin_29035405的博客 337

手把手教你解决Realsense D455在ROS下IMU数据不输出的问题(附固件降级指南)

本文详细解析了Realsense D455在ROS环境下IMU数据不输出的问题,提供了固件降级和ROS配置的完整解决方案。通过版本兼容性分析和实战操作指南,帮助开发者快速恢复IMU数据流,优化机器人开发体验。

weixin_42531494的博客 372

python + requests实现的接口自动化测试(超详细~)

没错,因为前面我们写了config.ini文件,所有的数据库配置信息都在这个文件内哦,是不是感觉很方便呢,以后就算变更数据库了,也只要修改config.ini文件的内容就可以了,结合前面测试用例的管理(excel文件),sql语句的存放(xml文件),还有接下来我们要说的,businessCommon.py和存放具体case的文件夹,那么我们就已经将数据和业务分开啦,哈哈哈,想想以后修改测试用例内容,sql语句神马的工作,再也不用每个case都修改,只要改几个固定的文件,是不是顿时开心了呢?

huace3852的博客 722

5G无人机安全研究综述

国内多所高校提出混合信任模型,南京航空航天大学于2020年提出了起源信息感知的无人机网络信任模型[26],模型基于报文的完整性对报文创建和操作节点的行为评判并生成观测证据,收集证据进行信任评估,识别网络中的恶意节点并进行路由隔离,实现准确的对等信任评估。同时,5G技术的高速率、高可靠性、低时延等特点,能够为无人机提供实时高清图像回传,保证通信网络的稳定,拓展无人机飞控距离限制,丰富了5G无人机的应用场景。5G和无人机技术的融合,丰富了传统无人机的应用服务场景,然而5G无人机仍存在安全隐患。

weixin_70923796的博客 766

接口测试七 Python Requests接口自动化

官方网站地址:http://cn.python-requests.org/zh_CN/latest/ 安装Python Requests库: pip install requests API 请求的构建必须包括:method(get、post等)、URL、header、body   get方法发送请求,包含 method、URL import requests host = 'loca...

雪国的花儿’s Blog 328

电子元器件-三极管终终篇:三极管工作原理详解、参数/手册详解、开关应用详解、Ib电流研究、开关应用实例

三极管工作原理与应用摘要 三极管是一种电流控制器件,通过小基极电流控制大集电极电流。其内部结构由高掺杂发射区、薄低掺杂基区和中等掺杂集电区组成,形成NPN或PNP结。三极管有三种工作状态: 截止区:发射结和集电结均反偏,无放大作用 放大区:发射结正偏,集电结反偏,Ic=βIb 饱和区:两结均正偏,Ic不再随Ib增大 作为开关使用时,需确保三极管深度饱和(Vce≈0.2V)。设计要点包括: 基极电阻计算确保Ib足够大 集电极电阻控制Ic 基极加下拉电阻提高抗干扰 NPN管作地开关,PNP管作电源开关 典型应用

qq_60226558的博客 316

OpenClaw部署太难?汉化版+中文社区+国产替代品,国内用户零门槛指南

OpenClaw作为GitHub 10万+星的开源AI助手平台,近期在国内AI圈备受关注 🌟 但部署难度和英文界面让很多用户望而却步。本文整理了针对国内用户的友好资源和简便替代方案,帮助国内用户零门槛上手AI助手工具 🚀

XiaoqiangClub的博客 5758

python利用requests库进行接口测试

requests库是python用来发起http/https请求得第三方库,支持get,post,put,delete等,requests特点是简单便捷、功能丰富,能够满足日常测试需求,所以我们选取requests库进行接口测试

软件测试技术资源分享官 1082

SAP RAP 校验全流程:从 EML 读取到消息上屏与阻止落库

本文系统梳理了 SAP ABAP RAP 中的校验流程(The Validation Process),结合 Airline/Connection 案例,详细讲解了三类核心校验:语义键唯一性、外键有效性和字段间一致性。文章覆盖了 EML 的 READ ENTITIES 操作、reported-* 与 failed-* 结构的使用方法、消息创建与字段绑定技巧,以及处理草稿数据时的 UNION 查询策略。通过代码示例演示了如何实现校验逻辑、生成错误消息并阻止无效数据持久化,同时提供了常见问题的排查建议。全文注重

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 335

Python 接口测试之 requests 库核心用法

本文全面讲解 Python 接口测试核心库 requests 的使用方法,从基础安装入手,先介绍 requests 库的核心定位 —— 轻量且强大的 HTTP 客户端库,重点解析get/post等请求方法及 Response 响应对象的常用属性。随后详细梳理params、json、data等核心参数的区别与适用场景,结合博客详情、登录、博客园接口等实战案例,演示不同参数(请求头、Cookie、查询参数等)的配置方式。最后点明 requests 库专注于 HTTP 请求发送的核心作用。

独断万古他化的博客 9698

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【接口测试】代码篇Python+Requests+UnitTest

接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程。接口自动化测试:是让程序或工具代替人工自动的完成对接口进行测试的一种过程。介绍: Requests库是用Python编写的,基于urllib,采用Apache2 Licensed开源协议的HTTP库;相比urllib库,Requests库更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。安装:验证:或者直接进行导包操作。

测试界的彭于晏的博客 2713

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python中的requests库之接口测试

requests库让接口测试变得像访问网页一样简单直接,是一把锋利的瑞士军刀。本文章以简洁的语言介绍了requests库在接口测试方面的基本用法,希望能给大家的学习带来帮助。

2403_88719931的博客 895

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python利用requests库进行接口测试的方法

requests库是python用来发起http/https请求得第三方库,支持get,post,put,delete等,requests特点是简单便捷、功能丰富,能够满足日常测试需求,所以我们选取requests库进行接口测试

软件测试技术资源分享官 1114

接口测试基础python+requests

接口测试(学习笔记)

测试打工人 4292
上一篇: python编程:数值计算库numpy是做机器学习的必备库
下一篇: 编程故事之python的设计模式
程序员林子
博客等级 码龄7年 369粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值