对代码进行调整

This commit is contained in:
lileilei
2022-04-23 13:10:50 +08:00
parent 749fd42dcc
commit d2b4c7fd26
8 changed files with 54 additions and 53 deletions

View File

@@ -5,25 +5,23 @@
# @File : testFengzhuang.py
from Public.test_requests import requ
reques = requ()
class TestApi(object):
def __init__(self, url, parame, method):
self.url = url
self.parame = parame
self.method = method
self.reques = requ()
def testapi(self):
if self.method == 'POST':
self.response = reques.post(self.url, self.parame)
self.response = self.reques.post(self.url, self.parame)
elif self.method == "GET":
self.response = reques.get(url=self.url, params=self.parame)
self.response = self.reques.get(url=self.url, params=self.parame)
elif self.method == "PUT":
self.response = reques.putparams(url=self.url, params=self.parame)
self.response = self.reques.putparams(url=self.url, params=self.parame)
elif self.method == "DELETE":
self.response = reques.delparams(url=self.url, params=self.parame)
self.response = self.reques.delparams(url=self.url, params=self.parame)
return self.response
def getJson(self):

View File

@@ -17,8 +17,8 @@ def datacel(filepath):
listkey = []
listconeent = []
listurl = []
listfangshi = []
listqiwang = []
listmethod = []
listassert = []
listname = []
for i in range(1, nrows):
listid.append(rslut.cell(i, 0).value)
@@ -26,9 +26,9 @@ def datacel(filepath):
listconeent.append(rslut.cell(i, 3).value)
listurl.append(rslut.cell(i, 4).value)
listname.append(rslut.cell(i, 1).value)
listfangshi.append((rslut.cell(i, 5).value))
listqiwang.append((rslut.cell(i, 6).value))
return listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname
listmethod.append((rslut.cell(i, 5).value))
listassert.append((rslut.cell(i, 6).value))
return listid, listkey, listconeent, listurl, listmethod, listassert, listname
except Exception as e:
print(e)
LOG.info('打开测试用例失败,原因是:%s' % e)
@@ -38,13 +38,12 @@ def datacel(filepath):
@logger('生成数据驱动所用数据')
def makedata():
path = os.path.join(os.path.join(os.getcwd(), 'test_case_data'), 'case.xlsx')
listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname = datacel(path)
listid, listkey, listconeent, listurl, listmethod, listassert, listname = datacel(path)
make_data = []
for i in range(len(listid)):
make_data.append({'url': listurl[i], 'key': listkey[i],
'coneent': listconeent[i], 'fangshi': listfangshi[i],
'qiwang': listqiwang[i],
'coneent': listconeent[i], 'fangshi': listmethod[i],
'qiwang': listassert[i],
'id': listid[i]},
)
i += 1

View File

@@ -6,11 +6,11 @@ from .log import LOG, logger
@logger('断言测试结果')
def assert_in(asserqiwang, fanhuijson):
if len(asserqiwang.split('=')) > 1:
data = asserqiwang.split('&')
def assert_in(asserassert, returnjson):
if len(asserassert.split('=')) > 1:
data = asserassert.split('&')
result = dict([(item.split('=')) for item in data])
value1 = ([(str(res(fanhuijson, key))) for key in result.keys()])
value1 = ([(str(res(returnjson, key))) for key in result.keys()])
value2 = ([(str(value)) for value in result.values()])
if value1 == value2:
return {'code': 0, "result": 'pass'}
@@ -22,9 +22,9 @@ def assert_in(asserqiwang, fanhuijson):
@logger('断言测试结果')
def assertre(asserqingwang):
if len(asserqingwang.split('=')) > 1:
data = asserqingwang.split('&')
def assertre(asserassert):
if len(asserassert.split('=')) > 1:
data = asserassert.split('&')
result = dict([(item.split('=')) for item in data])
return result
else:

View File

@@ -1 +1 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-

View File

@@ -17,14 +17,15 @@ def start():
basdir = os.path.abspath(os.path.dirname(__file__))
path = os.path.join(os.path.join(os.getcwd(), 'test_case_data'), 'case.xlsx')
listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname = datacel(path)
listid, listkey, listconeent, listurl, listmethod, listqiwang, listname = datacel(path)
listrelust, list_fail, list_pass, list_json, list_weizhi, listone = testinterface()
filepath = os.path.join(os.path.join(basdir, 'test_Report'), '%s-result.xls' % mtime)
if os.path.exists(filepath) is False:
os.system(r'touch %s' % filepath)
save_result(starttime, len(listrelust), ((list_pass)), list_fail)
create(filename=filepath, list_fail=list_fail, list_pass=list_pass, list_json=list_json, listurls=listurl,
listkeys=listkey, listconeents=listconeent, listfangshis=listfangshi, listqiwangs=listqiwang,
listkeys=listkey, listconeents=listconeent, listfangshis=listmethod,
listqiwangs=listqiwang,
listids=listid, listrelust=listrelust, listnames=listname)

View File

@@ -1,4 +1,4 @@
import ddt, unittest,os,yaml
import ddt, unittest, os, yaml
from Interface.testFengzhuang import TestApi
from Public.get_excel import makedata
from Public.log import LOG
@@ -10,9 +10,12 @@ file_reslut = os.path.join(file_dir, 'caseresult.yaml')
data_test = makedata()
def write(data):
with open(file_reslut, 'a', encoding='utf-8') as f:
yaml.dump(data, f, allow_unicode=True)
def read(data):
f = open(file_reslut, 'r', encoding='utf-8')
d = yaml.load(f, Loader=yaml.FullLoader)
@@ -38,29 +41,29 @@ class MyTest(unittest.TestCase):
'''
parem = {'key': data_test['key']}
try:
parem_dict=eval(data_test['coneent'])
for key,value in parem_dict.items():
parem_dict = eval(data_test['coneent'])
for key, value in parem_dict.items():
if str(value).startswith("&"):
try:
reply_key_id=str(value).split("&")[-1].split("=")
reply_keyid=reply_key_id[0]
reply_key_key=reply_key_id[1]
reslut=read(reply_keyid)
reply_key_id = str(value).split("&")[-1].split("=")
reply_keyid = reply_key_id[0]
reply_key_key = reply_key_id[1]
reslut = read(reply_keyid)
if reslut is None:
self.assertTrue(False,'依赖用例获取失败')
get_value=reslut[reply_key_key]
self.assertTrue(False, '依赖用例获取失败')
get_value = reslut[reply_key_key]
if get_value is None:
self.assertTrue(False, '依赖参数获取失败,不存在')
parem_dict[key]=get_value
parem_dict[key] = get_value
except Exception as e:
LOG.info("用例依赖执行失败:"+str(e))
self.assertTrue(False,'用例依赖执行失败')
LOG.info("用例依赖执行失败:" + str(e))
self.assertTrue(False, '用例依赖执行失败')
parem.update({'info':parem_dict})
parem.update({'info': parem_dict})
except:
self.assertTrue(False,msg="参数格式不对")
self.assertTrue(False, msg="参数格式不对")
api = TestApi(url=TestPlanUrl+data_test['url'],
api = TestApi(url=TestPlanUrl + data_test['url'],
parame=parem,
method=data_test['fangshi'])
LOG.info('输入参数url:%s,key:%s,参数:%s,请求方式:%s' % (data_test['url'], data_test['key'], data_test['coneent'],
@@ -68,8 +71,8 @@ class MyTest(unittest.TestCase):
data_test['url'], data_test['key'], data_test['coneent'],
data_test['fangshi']))))
apijson = api.getJson()
reslut={}
reslut[data_test['id']]=apijson
reslut = {}
reslut[data_test['id']] = apijson
write(reslut)
LOG.info('返回结果:%s' % apijson)
assertall = assertre(asserqingwang=data_test['qiwang'])

View File

@@ -7,7 +7,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>报告</title>
<meta name="generator" content="BSTestRunner 0.8.4"/>
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" ">
<script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
<style type="text/css" media="screen">
@@ -58,8 +58,8 @@
<div class='heading'>
<div style='width: 50%;float:left;margin-top:inherit'>
<h1>报告</h1>
<p><strong>开始时间:</strong> 2022-04-22 17:22:51</p>
<p><strong>持续时间:</strong> 0:00:00.347419</p>
<p><strong>开始时间:</strong> 2022-04-22 21:32:40</p>
<p><strong>持续时间:</strong> 0:00:00.111331</p>
<p><strong>状态:</strong> <span class="text text-success">通过 <strong>2</strong></span></p>
<p class='description'>测试报告</p>
@@ -81,8 +81,8 @@
<tr id='header_row'>
<th>测试组/测试用例</td>
<th>数量</td>
<th>失败</td>
<th>通过</td>
<th>失败</td>
<th>错误</td>
<th>查看</td>
</tr>
@@ -154,7 +154,7 @@ optionsone = {
xAxis: {
type: 'category',
boundaryGap: false,
data: ['2022_01_16_09_43_50', '2022_01_16_09_43_56', '2022_01_16_09_41_37', '2022_04_22_17_22_51', '2022_01_16_09_39_12', '2022_01_15_14_26_21', '2022_01_16_09_41_00', '2022_01_16_09_39_32', '2022_01_16_09_44_26', '2022_01_16_09_46_33', '2022_01_16_09_43_15', '2022_01_16_09_44_35', '2022_01_16_09_45_12', '2022_01_16_09_39_51', '2022_01_16_09_42_37', '2022_01_16_09_38_16', '2022_01_16_09_36_13']
data: ['2022_04_22_21_06_05', '2022_01_16_09_43_50', '2022_04_22_21_22_01', '2022_04_22_21_29_08', '2022_01_16_09_43_56', '2022_01_16_09_41_37', '2022_04_22_17_22_51', '2022_01_16_09_39_12', '2022_01_15_14_26_21', '2022_01_16_09_41_00', '2022_01_16_09_39_32', '2022_01_16_09_44_26', '2022_04_22_21_32_40', '2022_01_16_09_46_33', '2022_01_16_09_43_15', '2022_01_16_09_44_35', '2022_01_16_09_45_12', '2022_01_16_09_39_51', '2022_01_16_09_42_37', '2022_01_16_09_38_16', '2022_01_16_09_36_13']
},
yAxis: {
type: 'value'
@@ -164,19 +164,19 @@ optionsone = {
name: '成功',
type: 'line',
stack: '总量',
data: ['2', '2', '2', '2', '0', '2', '0', '0', '2', '2', '2', '2', '2', '0', '2', '0', '0']
data: ['2', '2', '2', '2', '2', '2', '2', '0', '2', '0', '0', '2', '2', '2', '2', '2', '2', '0', '2', '0', '0']
},
{
name: '失败',
type: 'line',
stack: '总量',
data: ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
data: ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
},
{
name: '错误',
type: 'line',
stack: '总量',
data: ['0', '0', '0', '0', '2', '0', '2', '2', '0', '0', '0', '0', '0', '2', '0', '2', '2']
data: ['0', '0', '0', '0', '0', '0', '0', '2', '0', '2', '2', '0', '0', '0', '0', '0', '0', '2', '0', '2', '2']
}
]