python--接⼝⾃动化鉴权实例
python怎么读取py文件第⼀⼤题:
写⼀个类,有⼀个http_request函数,能够完成http的get以及post请求,url和param作为这个函数的参数。难点:考虑如果有cookie的话怎么完成请求?因为登录与充值有关联。
验证:创建实例,完成登录--->充值请求。
参数:{"mobilephone":"135********","pwd":"123456"}
参数:{"mobilephone":"135********","amount":"100"}
#http_request_1
#第⼀种解法:设置全局变量:
import requests
COOKIES=None#全局变量
#登录成功之后才会产⽣cookie
class HttpRequest:
def http_request(self,url,params,method):
global COOKIES#更改cookie 全局变量
if method.upper()=='GET':
(url,params,cookies=COOKIES)
elif method.upper()=='POST':
res=requests.post(url,params,cookies=COOKIES)
print("产⽣的cookie",kies)
print("⽬前cookie的值",COOKIES)
kies!={}:#cookies不为空的时候我就替换全局变量
kies#赋值运算
print(res.json())
#因为HTTP请求是⽆状态的,所以我们要利⽤cookies
if __name__ == '__main__':
t=HttpRequest()
login='x:8080/futureloan/mvc/api/member/login'
login_data={"mobilephone":"135********","pwd":"123456"}
re_url='x:8080/futureloan/mvc/api/member/recharge'
re_data={"mobilephone":"135********","amount":"100"}
t.http_request(login,login_data)#登录
print("结束登录")
t.http_request(re_url,re_data)#充值
print("结束充值")
#第⼆种解法:
from demo.save_value import SaveValue
object=SaveValue()
class HttpRequest:
def http_request(self,url,params):
(url,params,cookies=object.COOKIES)
print("产⽣的cookie",kies)
kies!={}:#cookies不为空时,替换全局变量
setattr(object,'COOKIES',kies)
print(res.json())
if __name__ == '__main__':
t=HttpRequest()
login='x:8080/futureloan/mvc/api/member/login'
login_data={"mobilephone":"135********","pwd":"123456"}
re_url='x:8080/futureloan/mvc/api/member/recharge'
re_data={"mobilephone":"135********","amount":"100"}
t.http_request(login,login_data)#登录
t.http_request(re_url,re_data)#充值
#save_value.py
class SaveValue:
COOKIES=None
第⼆⼤题:
1:把登录和充值的请求参数放到TXT⾥⾯,数据如下:
参数:{"mobilephone":"135********","pwd":"123456"}
参数:{"mobilephone":"135********","amount":"100"}
存到TXT⾥⾯格式如下:
#data_
作业要求:利⽤get_data.py中的类GetData从txt⾥⾯读取数据的类,完成测试数据的读取。
class GetData:
def get_data(self,file_path):
file=open(file_path)
all_adlines()
# print(all_lines)
list_1=[]
for one_line in all_lines:
split_data=one_line.strip('\n').split(',')
dict_1={}
for item in split_data:
item_split=item.split(':',1)
dict_1[item_split[0]]=item_split[1]#把值添加到字典⾥⾯去
list_1.append(dict_1)
return list_1
新建⼀个py⽂件,引⼊第⼀⼤题,完成HTTP请求类,以及第⼆⼤题的读取数据类,创建实例,完成登录和充值请求。
#run.py
from demo.http_request_1 import HttpRequest
_data import GetData
t=HttpRequest()
test_data=GetData().get_data('')
print(test_data)
for item in test_data:
print("遍历取的数据",item)
method=item['method']
item.pop('method')
url=item['url']
item.pop('url')
t.http_request(url,item,method)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论