我们之前使用 Postman,Jmeter 做接口的测试。
接口本质就是 发送一个请求给服务器,服务器请求的数据,返回结果。
不管使用什么工具,或者使用代码做接口测试,最重要的就是将请求发送服务器,拿到服务器返回的结果。
requests 简介
参考文档:
中文版: https://docs.python-requests.org/zh_CN/latest/
英文版:https://docs.python-requests.org/en/master/index.html
requests 是Python中的一个专门进行 模拟发送请求的 第三方库,使用 reqeusts 可以非常方便的将请求发送到服务器。
安装requests
打开【File 文件】—【Settings 设置】
找到 项目配置,点击【+】进行搜索安装。
搜索 requests 进行安装
安装成功之后会有对应的提示。
发送第一个Get请求
api_demo.py
# 导入requests 模块
import requests
# 发送get 请求
url = "http://47.100.175.62:3000/api/v1/topics"
# 发送get请求,将请求结果保存到r中
r = requests.get(url)
# 打印http状态码
print(r.status_code) # 200
# 打印服务器返回的结果
print(r.json())
发送Get请求(带有请求参数)
# 导入requests 模块
import requests
# 发送get 请求
# 请求url
url = "http://47.100.175.62:3000/api/v1/topics"
#设置请求参数
query_data = {
"limit":1,
"tab":"ask"
}
# 发送get请求,带上请求参数,请求参数传递给params (params 固定的)。 将请求结果保存到r中
r = requests.get(url,params=query_data)
# 打印http状态码
print(r.status_code) # 200
# 打印服务器返回的json结果
print(r.json())
发送Post请求
api_post_demo.py
# 导入 requests
import requests
# 设置请求地址
u = "http://49.233.108.117:28019/api/v1/user/register"
# 请求的body
body = {
"loginName": "17018991988",
"password": "123456"
}
# 发送post请求, post请求使用json格式,json(固定的)
r = requests.post(u,json=body)
# 打印状态码
print(r.status_code)
# 打印返回结果
print(r.json())
练习
根据如下接口文档,使用Python的方式发送请求。
请求方式:Post
请求路径:http://47.100.175.62:3000/api/v1/topics
请求参数
- accesstoken String 用户的 accessToken
- title String 标题
- tab String 目前有 ask share job dev。开发新客户端的同学,请务必将你们的测试帖发在 dev 专区,以免污染日常的版面,否则会进行封号一周处理。
- content String 主体内容
可以使用token值: d204ec39-c0ad-4366-8663-3246b1364d90{
"accesstoken":"",
"title":"",
"tab":"",
"content":""
}
import requests
url = "http://47.100.175.62:3000/api/v1/topics"
body_data = {
"accesstoken":"d204ec39-c0ad-4366-8663-3246b1364d90",
"title":"a"*10,
"tab":"ask",
"content":"helloworld"*1000
}
r = requests.post(url,json=body_data)
print(r.status_code)
print(r.json())