csv生成测试报告
1.存储csv数据
2.读取csv数据
import csv
class ReadCsv():
def readCsv(self):
item = []
rr = csv.reader(open("../data/test.csv"))
for csv_i in rr:
item.append(csv_i)
del item[0]
return item
r=ReadCsv()
print(r.readCsv())
3.requests获取接口返回列表
import requests
from readdata.readcsv import ReadCsv
r=ReadCsv()
aa=r.readCsv()
items=[]
class RequestClass():
def reqCsv(self):
for i in aa:
if i[2]=='get':
r=requests.get(i[0],params=i[1])
items.append(r.status_code)
else:
r = requests.post(i[0], data=i[1])
items.append(r.status_code)
return items
rr=RequestClass()
print(rr.reqCsv())
4.生成测试报告
import pytest,os
from requestsdemo.requset01 import RequestClass
r=RequestClass()
aaa=r.reqCsv()
print(aaa)
class TestCsvClass():
def test_csv(self):
for i in aaa:
assert i==200
if __name__ == '__main__':
pytest.main(['--alluredir', 'report/result', 'test_csv.py'])
split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'
os.system(split)
5.测试报告展示
execel生成测试报告
1.存储execel数据
2.读取exexel数据
from openpyxl import load_workbook
class UseExcel():
def get_TestExcel(self):
# 打开表
workbook = load_workbook('../data/test999.xlsx')
# 定位表单
sheet = workbook['Sheet1']
print(sheet.max_row) #3 行
print(sheet.max_column) #3 列
test_data = []#把所有行的数据放到列表中
for i in range(2,sheet.max_row+1):
sub_data = {}#把每行的数据放到字典中
for j in range(1,sheet.max_column+1):
sub_data[sheet.cell(1,j).value] = sheet.cell(i,j).value
test_data.append(sub_data)#拼接每行单元格的数据
return test_data
t = UseExcel()
f = t.get_TestExcel()
print(f)
3.requests获取接口返回列表
import requests
from readdata.readexl import UseExcel
r=UseExcel()
aa=r.get_TestExcel()
items=[]
class RequestClass():
def reqCsv(self):
for i in aa:
if i['method']=='get':
r=requests.get(i['url'],params=i['params'])
items.append(r.status_code)
else:
r = requests.post(i['url'], data=i['params'])
items.append(r.status_code)
return items
rr=RequestClass()
print(rr.reqCsv())
4.生成测试报告
import pytest,os
from requestsdemo.request02 import RequestClass
r=RequestClass()
aaa=r.reqCsv()
print(aaa)
class TestCsvClass():
def test_csv(self):
for i in aaa:
assert i==200
if __name__ == '__main__':
pytest.main(['--alluredir', 'report/result', 'test_exc.py'])
split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'
os.system(split)
5.测试报告展示