文章插图
requests一、简介使用 Python 做自动化接口测试需要用代码发送 http 请求 。requests 是 Python 语言里网络请求库中最好用的,没有之一 。
requests 库有完善详尽的中文版官方文档:
https://requests.readthedocs.io/zh_CN/latest/
作者Requests 的作者 Kenneth Reitz 是一个富有传奇色彩的人物 。
Kenneth Reitz 在有着“云服务鼻祖”之称的 Heroku 公司,28 岁时就担任了 Python 语言的总架构师 。他做了什么呢?随便列几个项目名称: requests、python-guide、pipenv、legit、autoenv,当然它也给 Python 界很多知名的开源项目贡献了代码,比如 Flask 。大神级程序员,据说其身价高达 5 亿美元 。
二、使用1. 发起请求1.1 请求方法每一个请求方法都有一个对应的 API,比如 GET 请求就可以使用 get() 方法:
import requestsresp = requests.get('https://www.baidu.com')
而 POST 请求就可以使用 post() 方法,并且将需要提交的数据传递给 data 参数即可:resp = requests.post('http://httpbin.org/post', data = https://www.isolves.com/it/cxkf/yy/Python/2021-12-01/{'key':'value'})
而其他的请求类型,都有各自对应的方法:requests.put('http://httpbin.org/put', data = https://www.isolves.com/it/cxkf/yy/Python/2021-12-01/{'key':'value'})requests.delete('http://httpbin.org/delete')requests.head('http://httpbin.org/get')requests.options('http://httpbin.org/get')
非常的简单直观明了 。1.2 传递 URL 参数传递 URL 参数不需要去拼接 URL,而是简单的,构造一个字典,并在请求时将其传递给 params 参数:
import requestsparams = {'key1': 'value1', 'key2': 'value2'}resp = requests.get("http://httpbin.org/get", params=params)
此时,查看请求的 URL,则可以看到 URL 已经构造正确了:print(resp.url)
http://httpbin.org/get?key1=value1&key2=value2并且,有时候我们会遇到相同的 url 参数名,但有不同的值,而 python 的字典又不支持键的重名,那么我们可以把键的值用列表表示:
params = {'key1': 'value1', 'key2': ['value2', 'value3']}resp = requests.get('http://httpbin.org/get', params=params)print(resp.url)
http://httpbin.org/get?key1=value1&key2=value2&key2=value3注:http://httpbin.org 是 Kenneth Reitz 搭建的为测试 http 服务而写的项目
1.3 传递表单参数通常,你想要发送一些编码为表单形式的数据——非常像一个 html 表单 。
【requests 让接口测试如此简单】要实现这个,只需简单地传递一个字典给 data 参数 。你的数据字典在发出请求时会自动编码为表单形式:
resp = requests.post('http://httpbin.org/post', data = https://www.isolves.com/it/cxkf/yy/Python/2021-12-01/{'key':'value'})
resp.json()
{'args': {},'data': '',
'files': {},
'form': {'key': 'value'},
'headers': {'Accept': '
推荐阅读
- 最易让女人出轨的6种男人
- 吃醋有技巧 8招让他不怒反爱的秘密武器
- 让出轨男人听了很内疚的一句话
- |在职场中如何做才能让领导和同事觉得「这年轻人靠谱、有前途」?
- 只需修改一个注册表,让所有软件不再耍流氓
- 如何挑选花菇
- 如何挑选青花椒
- 如何挑选海蜇
- 怎么让芍药快速开放,芍药应该怎么食用呢
- 6款超好用的macOS软件,让你的Mac更高效