接口测试入门
还是先上代码:
data_test.py
from openpyxl import load_workbook
class Date_test():
@classmethod
def Date_test_1(cls):
"""
配置文件读取模块
:return:
"""
wb = load_workbook("data_test.xlsx")
ws = wb.get_sheet_by_name("Sheet1")
url = 'http://test.lemonban.com/futureloan/mvc/api'
list1 = []
for i in range(1, ws.max_row + 1):
list = []
for j in range(1, ws.max_column + 1):
if j == 3:
str = url + ws.cell(i, j).value
else:
str = ws.cell(i, j).value
list.append(str)
list1.append(list)
wb.close()
Dict = {}
for i in list1:
str = ",".join(i)
list = []
list = str.split(",",1)
Dict[list[0]] = list[1]
return Dict
def Date_test_2(self,test_function,test_text,x):
"""
运行结果写入模块
:param test_function:
:param test_text:
:param x:
:return:
"""
wb = load_workbook("data_test.xlsx")
ws = wb.get_sheet_by_name("Sheet2")
ws.cell(x,1).value = test_function
ws.cell(x,2).value = test_text
wb.save("data_test.xlsx")
wb.close()
#Http_pg.py
import requests
class HTTP_CONSOLE():
def http_console(self,Method,url,parameter,Cookies= None):
if Method == "POST":
result = requests.get(url=url,params=parameter,cookies=Cookies)
elif Method =="GET":
result = requests.post(url=url,data=parameter,cookies=Cookies)
else:
print("请求方式输入错误,目前仅支持POST/GET两种请求方式!")
return result
#test_Case.py
from data_test import *
from Http_pg import *
import json
class test_case():
Cookie = {}
def test_register(self):
str = Date_test.Date_test_1()["register"]
list = str.split(",")
Method = list[0]
url = list[1]
Dict_login = {}
Dict_login["mobilephone"] = eval(list[2])
Dict_login["pwd"] = eval(list[3])
result = HTTP_CONSOLE().http_console(Method=Method, url=url, parameter=Dict_login)
Date_test().Date_test_2(test_function="register",test_text=json.loads(result.text)["msg"],x=1)
def test_login(self):
str = Date_test.Date_test_1()["login"]
list = str.split(",")
Method = list[0]
url = list[1]
Dict_login= {}
Dict_login["mobilephone"] = eval(list[2])
Dict_login["pwd"] = eval(list[3])
result = HTTP_CONSOLE().http_console(Method=Method,url=url,parameter=Dict_login)
self.Cookie = result.cookies
Date_test().Date_test_2(test_function="login", test_text=json.loads(result.text)["msg"],x=2)
def test_recharge(self):
str = Date_test.Date_test_1()["recharge"]
list = str.split(",")
Method = list[0]
url = list[1]
Dict_login = {}
Dict_login["mobilephone"] = eval(list[2])
Dict_login["amount"] = eval(list[3])
result = HTTP_CONSOLE().http_console(Method=Method, url=url, parameter=Dict_login,Cookies = self.Cookie)
Date_test().Date_test_2(test_function="recharge", test_text=json.loads(result.text)["msg"], x=3)
def test_withdraw(self):
str = Date_test.Date_test_1()["withdraw"]
list = str.split(",")
Method = list[0]
url = list[1]
Dict_login = {}
Dict_login["mobilephone"] = eval(list[2])
Dict_login["amount"] = eval(list[3])
result = HTTP_CONSOLE().http_console(Method=Method, url=url, parameter=Dict_login,Cookies = self.Cookie)
Date_test().Date_test_2(test_function="withdraw", test_text=json.loads(result.text)["msg"], x=4)
if __name__ == '__main__':
test = test_case()
test.test_register()
test.test_login()
test.test_recharge()
test.test_withdraw()
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
注意点:
没有太多的注意点,有的我在前面的随笔也都写过了,这个注意下cookies的传值就行了,其他的没什么可关注的
后记:
其实原本是打算写成unittest框架然后放出来的,实际上也写了,关键在cookies的传值上卡住了,考虑过写到xlsx的Sheet3中然后读取传值,但是很不幸测试的网址cookies不是字典而是对象,没办法写入,只能看是换个框架还是考虑别的方法了
最后附上失败的成果:
更多精彩

