发起requests请求.py
import requests
# 请求体、请求头
headers = {
"X-Lemonban-Media-Type":"lemonban.v2"
}
""" ================= 注册 ============================="""
# 注册 URL
url = "http://api.lemonban.com/futureloan/member/register"
req_data = {
"mobile_phone":"13843810086",
"pwd":"12345678",
"reg_name":"天宫"
}
resp = requests.post(url, json=req_data, headers=headers)
print("注册的响应结果:\n", resp.text)
# =================== 登录 ===================================
# 登录URl地址
url = "http://api.lemonban.com/futureloan/member/login"
# 请求的类型:post
# 请求体
req_data = {"mobile_phone":"13843810086","pwd":"12345678" }
resp = requests.post(url, json=req_data, headers=headers)
print("登录的响应结果:\n",resp.text)
# 提取 token 出来,给到下一个接口去作为请求
json_res = resp.json()
token = json_res["data"]["token_info"]["token"]
print(token)
member_id = json_res["data"]["id"]
print(member_id)
""" ===================== 充值 ======================"""
# 请求体、请求头
headers = {
"X-Lemonban-Media-Type":"lemonban.v2",
"Authorization":f"Bearer {token}"
}
# 充值 URL
url = "http://api.lemonban.com/futureloan/member/recharge"
req_data = {
"member_id":member_id,
"amount":10000
}
resp = requests.post(url, json=req_data, headers=headers)
print("充值的响应结果:\n",resp.text)
===========================================================
封装requests请求头
common模块下的my_requests.py
import requests
class MyRequests:
# 初始化方法
def __init__(self):
# 请求头
self.headers = {"X-Lemonban-Media-Type":"lemonban.v2"}
# 方法 post/put.. json=XXX , get.. params=XXX
def send_requests(self, method, url, json=None, params=None, token=None):
# 调用私有方法 token
self.__deal_headers(token)
# 调用 requests 的方法去发起一个请求。并得到响应结果
if method.upper() == "GET":
resp = requests.request(method, url, paeams=params, headers=self.headers)
else:
resp = requests.request(method, url, json=json, headers=self.headers)
return resp
# 定义一个私有方法:传递 token
def __deal_headers(self,token=None):
if token:
self.headers["Authorization"] = f"Bearer {token}"
========================================================================
数据驱动应用.py
test_ddt.py
from common.my_requests import MyRequests
datas = [
{"method":"post","url":"http://api.lemonban.com/futureloan/member/register",
"req_data":{"mobile_phone":"13843810086","pwd":"12345678","reg_name":"天宫"}},
{"method":"post","url":"http://api.lemonban.com/futureloan/member/login",
"req_data":{"mobile_phone":"13843810086","pwd":"12345678"}},
{"method":"post","url":"http://api.lemonban.com/futureloan/member/recharge",
"req_data":{"member_id":None,"amount":10000}}
]
mr = MyRequests()
# 方法一
@pytest.mark.parametrize("item",datas)
def test_api_1(item):
resp = mr.send_requests(item["method"],item["url"],item["req_data"])
print(resp.json())
# 方法二:遍历 datas
# def test_api_1():
# for item in datas:
# resp = mr.send_requests(item["method"],item["url"],item["req_data"])
# print(resp.json())
# assert False
# 方法三
# def test_api_1():
# resp = mr.send_requests(datas[0]["method"],datas[0]["url"],datas[0]["req_data"])
# print(resp.json())
# def test_api_2():
# resp = mr.send_requests(datas[1]["method"],datas[1]["url"],datas[1]["req_data"])
# print(resp.json())
# def test_api_3():
# resp = mr.send_requests(datas[2]["method"],datas[2]["url"],datas[2]["req_data"])
# print(resp.json())
=============================================================================
1075

被折叠的 条评论
为什么被折叠?



