mirror of https://gitee.com/a529548204/apitest.git
更新使用方法,增加多层关联逻辑处理
This commit is contained in:
parent
84db500e7d
commit
d3fe80ca62
|
@ -43,8 +43,10 @@ class apiSend(object):
|
|||
:param data: 请求参数
|
||||
:param files: 文件对象 dict
|
||||
{
|
||||
'file参数名': (r'文件名称.xlsx', open(r'路径\文件名称.xlsx', 'rb'),)
|
||||
'file参数名(files)': (r'文件名称.xlsx', open(r'路径\文件名称.xlsx', 'rb') 或者 直接文件路径)
|
||||
}
|
||||
file: 'D:\apitest\test_suite\files\test.png'
|
||||
files={"files": casedata["data"]["file"]}
|
||||
:return:
|
||||
"""
|
||||
|
||||
|
@ -69,6 +71,7 @@ class apiSend(object):
|
|||
elif '/' in value or "\\" in value:
|
||||
file_parm = i
|
||||
files[file_parm] = (os.path.basename(value), open(value, 'rb'), 'application/octet-stream')
|
||||
print(1)
|
||||
else:
|
||||
pass
|
||||
multipart = MultipartEncoder(
|
||||
|
|
|
@ -60,3 +60,4 @@ Werkzeug==2.0.2
|
|||
wsproto==1.0.0
|
||||
zstandard==0.15.2
|
||||
faker==13.3.2
|
||||
pytest-xdist==2.5.0
|
||||
|
|
|
@ -33,8 +33,8 @@ def run():
|
|||
mk_dir(html_path)
|
||||
# 执行命令行
|
||||
|
||||
# args = ['-s', '-q', test_case_path, '--alluredir', temp_path,"--clean-alluredir"]
|
||||
args = ['-s', '-q', test_case_path,]
|
||||
args = ['-s', '-q', test_case_path, '--alluredir', temp_path,"--clean-alluredir",'-n','1']
|
||||
# args = ['-s', '-q', test_case_path,]
|
||||
|
||||
# args = ['-s', '-q', test_case_path, '--alluredir',
|
||||
# '/var/jenkins_home/workspace/js/report/xml'] # docker中 jenkins工作空间项目根路径
|
||||
|
@ -49,9 +49,9 @@ def run():
|
|||
# ding = DingTalkSendMsg()
|
||||
# ding.send_text("点击链接打开测试报告 http://192.168.1.2:9999",[13688400244])
|
||||
# 生成html报告
|
||||
# os.system(r'allure generate {0} -o {1} --clean'.format(temp_path, html_path))
|
||||
os.system(r'allure generate {0} -o {1} --clean'.format(temp_path, html_path))
|
||||
# 打开报告服务 并指定端口
|
||||
# os.system(r'allure serve {0} -p 11999'.format(temp_path))
|
||||
os.system(r'allure serve {0} -p 11999'.format(temp_path))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -42,7 +42,7 @@ __all__ = [
|
|||
'pytest',
|
||||
'asserting',
|
||||
'Log',
|
||||
'ini_yaml',
|
||||
'ini_allyaml',
|
||||
'alldata',
|
||||
'allure',
|
||||
'apisend',
|
||||
|
|
|
@ -65,8 +65,8 @@ class Test_{filename}(object):""")
|
|||
f.write(f"""
|
||||
res,restime, code = apisend(host=casedata["host"], address=casedata["address"], method=casedata["method"],
|
||||
headers=casedata["headers"],
|
||||
data=casedata["data"], rel=casedata["relevance"],
|
||||
files={{"file": casedata["data"]["file"]}})
|
||||
data=casedata["data"], caches=casedata["cache"],
|
||||
files={{"files": casedata["data"]["file"]}})
|
||||
asserting(hope_res=casedata["assert"], real_res=res, re_time=restime, re_code=code)\n""")
|
||||
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ from common.basePage import apisend
|
|||
from util.tools.readYamlFile import ini_allyaml
|
||||
from util.tools.randomData import replace_random
|
||||
import jsonpath
|
||||
import allure
|
||||
|
||||
|
||||
def relevance(alldata, relevancedata, headerdata=None):
|
||||
|
@ -20,16 +21,16 @@ def relevance(alldata, relevancedata, headerdata=None):
|
|||
p = alldata[i["relCaseName"]]["case"][i["relCaseNum"] - 1]
|
||||
# if p["relevance"]:
|
||||
# relevance(alldata,relevancedata=p,headerdata=headerdata)
|
||||
|
||||
if p["relevance"]:
|
||||
p = relevance(alldata, relevancedata=p, headerdata=headerdata)
|
||||
if alldata[i["relCaseName"]]["token"]:
|
||||
p["headers"][alldata[i["relCaseName"]]["token"]] = headerdata
|
||||
res, time, code= apisend(address=p["address"],
|
||||
method=p["method"], headers=p["headers"], data=p["data"],
|
||||
caches=p["cache"],host=p["host"])
|
||||
v = jsonpath.jsonpath(res, i["value"])[0]
|
||||
reldict[i["name"]] = v
|
||||
with allure.step("执行关联接口"):
|
||||
if p["relevance"]:
|
||||
p = relevance(alldata, relevancedata=p, headerdata=headerdata)
|
||||
if alldata[i["relCaseName"]]["token"]:
|
||||
p["headers"][alldata[i["relCaseName"]]["token"]] = headerdata
|
||||
res, time, code= apisend(address=p["address"],
|
||||
method=p["method"], headers=p["headers"], data=p["data"],
|
||||
caches=p["cache"],host=p["host"])
|
||||
v = jsonpath.jsonpath(res, i["value"])[0]
|
||||
reldict[i["name"]] = v
|
||||
d2 = replace_random(str(relevancedata),param=reldict)
|
||||
d3 = eval(d2)
|
||||
return d3
|
||||
|
|
Loading…
Reference in New Issue