diff --git a/04-CustomLibrary/Custometest/ReportSchema.py b/04-CustomLibrary/Custometest/ReportSchema.py index de5a2c1..ac2d947 100644 --- a/04-CustomLibrary/Custometest/ReportSchema.py +++ b/04-CustomLibrary/Custometest/ReportSchema.py @@ -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