欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

requests接口测试的使用—基础篇

程序员文章站 2022-11-30 13:42:32
requests接口测试的使用—基础篇前言:接口工具常用的有jmeter和postman,但同样也可以用python语言中的requests库来写接口自动化脚本,下面介绍 requests中的基础使用。1. get方法 (通常场景:地址栏输入网址后,点击Enter回车时使用的get方法)(1). 直接请求网址,不带参数import requests response = requests.get('http://httpbin.org/get') #对get接口进行get请求,并获取响应信...

requests接口测试的使用—基础篇

前言:接口工具常用的有jmeter和postman,但同样也可以用python语言中的requests库来写接口自动化脚本,下面介绍 requests中的基础使用。

1. get方法 (通常场景:地址栏输入网址后,点击Enter回车时使用的get方法)

(1). 直接请求网址,不带参数

import requests  

response = requests.get('http://httpbin.org/get') #对get接口进行get请求,并获取响应信息

示例:
requests接口测试的使用—基础篇

(2). 请求网址,带请求参数

import requests
p = {'key1': 'hello', 'key2': 'world'}
response=requests.get("http://httpbin.org/get_p",params=p)

示例:
requests接口测试的使用—基础篇

2. post方法 (通常场景:在网页中提交信息的时候使用post方法)

(1). 传递的json格式的参数

import requests
p={"key1":"hello","key2":1}
response=requests.post("http://httpbin.org/post_p",json=p)
print(response.text)
#输出:
{"key1":"hello","key2":1}

(2). 以html中form得形式传递参数

import requests
p={"key1":"hello","key2":1}
response=requests.post("http://httpbin.org/post_p",data=p)
print(response.text)

(3). form传递得是json格式需要以下面的方式

import requests
import json
p={"key1":"hello","key2":1}
response=requests.post("http://httpbin.org/post_p",data=json.dumps(p))
print(response.text)

3. 查看接口各种类型的响应结果

import requests
import json
p={"key1":"hello","key2":1}
response=requests.post("http://httpbin.org/post_p",data=json.dumps(p))
# 响应信息(response)解析
print(response.text)
print(response.content)
# 获取状态码
print(response.status_code)
# 获取headers信息
print(response.headers)
# 获取cookies信息
print(response.cookies)
# 获取请求url
print(response.url)
# 获取反序列化后的得信息
print(response.json())
# 获取响应时间
print(response.elapsed)
print(response.elapsed.microseconds)
print(response.elapsed.seconds)
print(response.elapsed.total_seconds())

注:下面是响应结果的详细解释

1.响应信息(response)解析

print(response.text) 
print(response.content)
输出结果:
你好
b'\xe4\xbd\xa0\xe5\xa5\xbd'
response.text是以str得形式返回得响应信息
response.content是以bytes形式返回
实际使用中根据自己得情况进行选择

2.获取状态码

print(response.status_code)
输出结果:
200

3.获取headers信息

print(response.headers)
输出结果:
{'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '6', 'Server': 'Werkzeug/0.14.1 Python/3.6.4', 'Date': 'Sun, 24 Jun 2018 02:55:27 GMT'}

4.获取cookies信息

print(response.cookies)
输出结果:
<RequestsCookieJar[]>
注意:这里与其他部分稍有不同,返回cookies的信息为cookies对象,而不是像前面部分返回得是字符串或者字典,cookies解析部分在后面会进行单独说明

5.获取请求url

print(response.url)
输出结果:
http://httpbin.org/post_p

6.获取反序列化后的得信息:

print(response.json())
输出结果:
{'name': 'john'}
注意:只有在返回信息为json格式时才能使用,否则会报json异常

7.获取响应时间

print(response.elapsed)
print(response.elapsed.microseconds)
print(response.elapsed.seconds)
print(response.elapsed.total_seconds())
输出结果:
0:00:00.003773
3773
0
0.003773

参考:https://www.jianshu.com/p/69bc02a3a7aa

本文地址:https://blog.csdn.net/weixin_46932303/article/details/107134820