接口自动化测试分类

安装requests的库:

pip install requests

接口请求构造:

先引用import  requests

发送get请求:

r = requests.get(url='url')

发送post请求:

r =requests.post(url='url',data={'key':'value'})

发送put请求:

r =requests.post(url='url',data={'key':'value'})

发送delet请求:

r =requests.delete(url='url')

发送head请求:

r =requests.head(url='url')

发送option请求:

r =requests.option(url='url')

其他重要请求参数如下:

下面的参数都是非必需参数,但是如果需要对请求做额外的定制化,则需要一下这些参数的作用。

①通过传入dict定制请求头

headers =t'user-agent':my-app/..1'}

r = requests. get(url, headers=headers)

②data参数发送编码为表单形式的数据单

> payload {'key1': valuel','key2': 'value2'}

r = requests. post("http: //httpbin. org/post",data=payload)

print(r. text)

③fles参数

上传文件,dict格式。

url='http: //httpbin.org/post

》iles= {'file': open('report. xls', 'rb')}

》r=requests. post(url, files=files)

》r.text

④timeout参数设定超时时间(秒),到达这个时间之后会停止等待响应:

>>> requests.get(http: //github. com', timeout=0.001)

Traceback(most recent call last):

File"<stdin>", line 1, in <module>

requests. exceptions. Timeout:

HTTPConnectionPool(host='github. com', port=80): \

Request timed out. (timeout=.001)

注意: timeout仅对连接过程有效,与响应体的下载无关。 timeout并不是整个下载响应的时间限制,而是如果服务器在 timeout秒内没有应答,将会引发一个异常(更精确地说,是在 timeout秒内没有从基础套接字上接收到任何字节的数据时),如果不设置 timeout将一直等待。

⑤allowredirects参数

控制是否启用重定向,bool类型,选择True为启用,选择 False为禁用

import requests

>>>r= requests. get('http: //github. com', allow_redirects=false)

>>>r.status_code

301

⑥proxies参数

设置代理 dict key  http  https格式,key值为选择的协议,可以分别设置http请求和https请求的代理

import requests

proxies={

'http':  'http: //10.10.1.10: 3128'

}

'https': 'http: / 110,10.1. 10: 1080'

requests. get( 'https:  //api. github. com/events', proxies=proxies)

verify参数可以传入bool值或者 string,默认为True。如果设置为 False的即为忽略对SSL证书的验证;反之就是需要做验证;如果传入值为 string的话,代表指定本地的证书作为客户端证书。

从本地传入证书

import requests

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容