Report纯接口测试方法完善覆盖GroupBy条件

This commit is contained in:
byb11
2021-04-25 20:04:35 +08:00
parent 02198b8004
commit 7f43643002

View File

@@ -43,7 +43,7 @@ def schema(schemauerl,token,logtype):
return response.json()
#获取json串中groupColumnList的值
def groupby(schemajson,logtype,testpoint):
def groupby(schemajson,logtype,testpoint,field):
dimensions=schemajson["data"]["doc"]["schema_query"]["dimensions"]
dimensions.append("common_recv_time");
randomstr_1=[]
@@ -52,6 +52,8 @@ def groupby(schemajson,logtype,testpoint):
dimensions.remove("common_end_time")
if testpoint == "DataBindings":
randomstr_1.append("common_recv_time")
elif testpoint == "GroupBy":
randomstr_1.append(field)
else:
randomstr_1=random.sample(dimensions, 4)
@@ -437,7 +439,7 @@ def havingjson(schemajson,testpoint,field):
#拼接字符串
def datasetjson(schemauerl,token,testname,logtype,testpoint,field):
schema_new=schema(schemauerl,token,logtype)
group_re=groupby(schema_new,logtype,testpoint)
group_re=groupby(schema_new,logtype,testpoint,field)
groupColumnList=group_re[0]
group_randomstr=group_re[1]
queryColumnList=DataBindings(schema_new,group_randomstr,testpoint,field)
@@ -673,14 +675,22 @@ def Deleteinterfaces(url,token,id):
def ReportPositiveTest(host,port,token,dataseturl,charurl,repporturl,logtypelist):
testpoint=["DataBindings","Filter","Having"]
testpoint=["GroupBy","DataBindings","Filter","Having"]
for logtype in logtypelist:
schemaurl="http://"+host+":"+port+"/v1/log/schema?logType="+logtype
schema_new=schema(schemaurl,token,logtype)
metrics = schema_new["data"]["doc"]["schema_query"]["metrics"]
schemafilters = schema_new["data"]["doc"]["schema_query"]["filters"]
dimensions = schema_new["data"]["doc"]["schema_query"]["dimensions"]
dimensions.append("common_recv_time");
metrics.append("common_log_id")
for j in testpoint:
if j == "GroupBy":
for filter in dimensions:
testname="Report"+logtype+j+filter
dataset_geturl=dataseturl+"?pageSize=20&pageNo=1&id=&name="+testname+"&logType=&opStartTime=&opEndTime=&opUser="
char_geturl=charurl+"?pageSize=20&pageNo=1&id=&name="+testname+"&opUser="
ReportInterfaceTest(schemaurl,token,dataseturl,charurl,repporturl,dataset_geturl,char_geturl,testname,logtype,j,filter)
if j == "DataBindings":
for filter in metrics:
testname="Report"+logtype+j+filter