前言:
✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 🐶哈士奇🐶 ,一位致力于 TFS 赋能的博主 ✌
🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦
文章目录
🐳 使用 Python 发送 请求🐬 Python 发送请求的方式🐬 requests 库的配置🐬 天行数据 - 空气质量接口🐬 利用 requests 发送查询 空气质量接口 请求在前文说过,如果想要更好的做接口测试,我们要利用自己的代码基础与代码优势,所以该章节不会再介绍商业化的、通用的接口测试工具,重点介绍如何通过 python 编码来实现我们的接口测试以及通过 Pycharm 的实际应用编写一个简单接口测试。
🐳 使用 Python 发送 请求
应为从最开始写这个 Python全栈系列 一直使用的就是 python3.x (这里我使用的是 python 3.8 版本) ,实际上 python 3 本身自带的就有能够实现发送请求的模块:
http.clienturllib.request
🐬 Python 发送请求的方式
以上两个都可以实现发送 http 请求,也就是说它们都可以帮助我们完成接口测试。不过相对于来说它们更偏向于底层,需要更多的定义,所以在使用上面比较的麻烦;
在实际的工作中,使用的更多的反而是第三方库resuests
,为什么会选择使用resuests
?那是因为它是经过二次集成、二次封装的,它能够让我们发送请求变得更简单,支持编码、解码、会话保持、长链接、可以加载 Header等等等等。
这也是我们使用 Python 做接口测试的一个首选方式,接下来就学习一下如何安装并使用requests 库
吧。
🐬 requests 库的配置
安装Requests 库
其实也非常的简单,直接在terminal
终端 执行pip install requests
, 见下图:
也可以通过设置中心去安装,在 Windows 系统,选择的是File --> Settings...
,Mac 系统选择的是PyCharm --> Preferences...
如下图:
![在这里插入图片描述]()
如果安装失败,或者安装超时,可以换一个国内的源地址,或者考虑一下ke xue shang wang
吧。
🐬 天行数据 - 空气质量接口
从天行数据网站可以找到公开的 空气质量接口,通过该接口,可以免费查询全国各地城市的空气质量。
API详情如下:
接口地址:
/environment/air/cityair
**返回格式:**json
**请求方式:**get
请求示例:
/environment/air/cityair?city=城市名称&key=您申请的APPKEY值
请求参数说明:
返回参数说明:
🐬 利用 requests 发送查询 空气质量接口 请求
实现发送请求的三步:
1、组装请求 (包含 url 、请求的参数、请求的数据、 headers、cookies等等)2、发送请求,获取响应3、解析响应、获取到想要的文本
代码示例如下:
# coding:utf-8import requests'''天行空气质量接口:get:/environment/air/cityair?city=城市名称&key=您申请的APPKEY值'''url = "/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"# 定义urlresult = requests.get(url)# 使用 requests 包的 get 方法获取响应结果print(result.text)# 打印输出 result 的文字解析
运行结果如下:
url 还支持 param 等一些信息,所以我们在组装url
的时候,还可以不用像上图中那样直接去定义;可以单独定义一个 param ,以字典的形式写入我们要传入的内容。代码示例如下:
PS:"param" 就是 get 请求方法的 "url" 问号后面的内容,示例:"/environment/air/cityair?city=城市名称&key=您申请的APPKEY值"
# coding:utf-8import requests'''天行空气质量接口:get:/environment/air/cityair?city=城市名称&key=您申请的APPKEY值'''# url = "/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"url = "/environment/air/cityair"# 定义urlparam = {"key": "98a470ea50853d3e698b2dfea09ae079", "city": "shanghai"}# 定义paramresult = requests.get(url=url, params=param)# 使用 requests 包的 get 方法获取响应结果print(result.text)# 打印输出 result 的文字解析
运行结果如下:
接下来再尝试一下通过psot
方法,运行的结果会怎么样。
代码示例如下:
# coding:utf-8import requests'''天行空气质量接口:get:/environment/air/cityair?city=城市名称&key=您申请的APPKEY值'''# url = "/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"url = "/environment/air/cityair"# 定义url# param = {"key": "98a470ea50853d3e698b2dfea09ae079", "city": "shanghai"}# "param" 就是 get 请求方法的 "url" 问号后面的内容data = {"key": "98a470ea50853d3e698b2dfea09ae079", "city": "shanghai"}# data 的内容才是 post 方法里需要传入的参数# result = requests.get(url=url, params=param)result = requests.post(url=url, data=data)# 使用 requests 包的 post 方法获取响应结果print(result.text)# 打印输出 result 的文字解析
运行结果如下:
😝 这里会发现结果与get
方法是一致的,其实想要测试个简单的接口其实一点都不复杂… 对不对? 😋 再接下来就准备开始一套完整的测试自动化测试的实现吧 😝