python接口自动化实例,python 请求接口
本文重点介绍如何通过python编码实现我们的接口测试,以及如何通过Pycharm的实际应用编写一个简单的接口测试。有兴趣的可以看看。
00-1010使用Python发送请求Python如何发送请求配置请求库Skyline数据-空气质量接口使用请求发送查询空气质量接口请求如前所述,如果想做更好的接口测试,就要利用自己的代码基础和代码优势。因此,本章将不介绍商业和通用的接口测试工具,重点介绍如何通过python编码实现我们的接口测试,并通过Pycharm的实际应用编写一个简单的接口测试。
目录
Python3.x(这里我用的是Python3.x版)从写这个Python全栈系列开始就一直在用。其实python 3本身就有一个可以实现发送请求的模块:
http.clienturllib.request
使用 Python 发送 请求
以上两者都可以发送http请求,也就是说,它们可以帮助我们完成接口测试。但相对来说,它们更倾向于底层,需要更多的定义,所以用上面的比较比较麻烦;
在实际工作中,第三方库资源使用较多。你为什么选择使用resuests?那是因为它经过了二次集成和二次封装,可以让我们更方便的发送请求。它支持编码、解码、会话保持、长链接、加载头等等。
这也是我们使用Python进行接口测试的首选方式。接下来,学习如何安装和使用请求库。
Python 发送请求的方式
实际上,安装请求库非常简单。您可以在终端中直接执行pip安装请求,如下图所示:
也可以通过设置中心来安装。在Windows系统上,选择文件-设置.而在Mac系统上,你选择PyCharm - Preferences.如下图所示:
如果安装失败,或安装超时,您可以更改国内源地址,或考虑薛蝌王上。
requests 库的配置
你可以从天际数据网站找到一个开放的空气质量接口,通过这个接口可以免费查询全国各城市的空气质量。
API详细信息如下:
地址:http://web.juhe.cn/environment/air/cityair
* *返回格式:**json
* *请求方法:**get
请求示例:http://web.juhe.cn/environment/air/cityair?市=城市名称关键字=您申请的APPKEY值。
请求参数描述:
参数是必需的。必填项类型表示cityyesstring城市名称的中文名称或拼音,如Shanghai或shanghaikeyyesstringAPP key(注册后申请使用该界面并自动生成一个密钥)。
返回参数描述:
名称描述citynowJSONObject当前城市空气质量最新结果lastTwoWeeksJSONObject最近几周(4周28天)的空气质量数据lastMoniDataJSONObject中各监测点的数据,如果字段返回—,则可以
能是该监测点未监测这项数据或者有延迟
利用 requests 发送查询 空气质量接口 请求
实现发送请求的三步:
1、组装请求 (包含 url 、请求的参数、请求的数据、 headers、cookies等等)
2、发送请求,获取响应
3、解析响应、获取到想要的文本
代码示例如下:
# coding:utf-8import requests
天行空气质量接口:
get:http://web.juhe.cn/environment/air/cityair?city=城市名称&key=您申请的APPKEY值
url = "http://web.juhe.cn/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079" # 定义url
result = requests.get(url) # 使用 requests 包的 get 方法获取响应结果
print(result.text) # 打印输出 result 的文字解析
运行结果如下:
url 还支持 param 等一些信息,所以我们在组装url的时候,还可以不用像上图中那样直接去定义;可以单独定义一个 param ,以字典的形式写入我们要传入的内容。代码示例如下:
PS:"param" 就是 get 请求方法的 "url" 问号后面的内容,示例:"http://web.juhe.cn/environment/air/cityair?city=城市名称&key=您申请的APPKEY值"
# coding:utf-8import requests
天行空气质量接口:
get:http://web.juhe.cn/environment/air/cityair?city=城市名称&key=您申请的APPKEY值
# url = "http://web.juhe.cn/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"
url = "http://web.juhe.cn/environment/air/cityair" # 定义url
param = {"key": "98a470ea50853d3e698b2dfea09ae079", "city": "shanghai"} # 定义param
result = requests.get(url=url, params=param) # 使用 requests 包的 get 方法获取响应结果
print(result.text) # 打印输出 result 的文字解析
运行结果如下:
接下来再尝试一下通过 psot 方法,运行的结果会怎么样。
代码示例如下:
# coding:utf-8import requests
天行空气质量接口:
get:http://web.juhe.cn/environment/air/cityair?city=城市名称&key=您申请的APPKEY值
# url = "http://web.juhe.cn/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"
url = "http://web.juhe.cn/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 方法是一致的,其实想要测试个简单的接口其实一点都不复杂… 对不对? 再接下来就准备开始一套完整的测试自动化测试的实现吧
以上就是Python自动化实战之接口请求的实现的详细内容,更多关于Python接口请求的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。