def setUpClass(self): self.runmethodhandle = RunMain.RunMethod() self.disposeapihandle = DisposeApi.DisposeApi(case_name) self.disposeheaderhandle = DisposeHeader.DisposeHeader() self.disposecasehandle = DisposeCase.DisposeCase(case_name) self.disposereporthandle = DisposeReport.DisposeReport(case_name) self.disposerelyhandle = DisposeRely.DisposeRely() self.disposeasserthandle = DisposeAssert.DisposeAssert() self.disposeenvhandle = DisposeEnv.DisposeEnv()
def setUpClass(self): self.runmethodhandle = RunMain.RunMethod() self.disposeapihandle = DisposeApi.DisposeApi(case_name) self.disposeheaderhandle = DisposeHeader.DisposeHeader() self.disposecasehandle = DisposeCase.DisposeCase(case_name) self.disposereporthandle = DisposeReport.DisposeReport(case_name) self.disposerelyhandle = DisposeRely.DisposeRely() self.readdbhandle = ReadDB.ReadDB() self.readtxthandle = ReadTxt.ReadTxt('cleardata') #清除测试数据 sql = self.readtxthandle.get_clear_data() print('-------------------开始清除原测试数据-------------------') self.readdbhandle.modify_data(sql) print('-------------------结束清除原测试数据-------------------') print('--------------------开始创建测试数据--------------------')
class Withdraw(unittest.TestCase): @classmethod def setUpClass(self): self.runmethodhandle = RunMain.RunMethod() self.disposeapihandle = DisposeApi.DisposeApi(case_name) self.disposeheaderhandle = DisposeHeader.DisposeHeader() self.disposecasehandle = DisposeCase.DisposeCase(case_name) self.disposereporthandle = DisposeReport.DisposeReport(case_name) self.disposerelyhandle = DisposeRely.DisposeRely() self.disposeasserthandle = DisposeAssert.DisposeAssert() self.disposeenvhandle = DisposeEnv.DisposeEnv() @classmethod def tearDownClass(self): pass def setUp(self): time.sleep(2) pass def tearDown(self): pass #数据驱动执行字段'是否执行'为是的用例 @ddt.data(*DisposeCase.DisposeCase(case_name).get_case_data()) def test_Withdraw(self,data): #测试报告用于说明 print("正在执行用例:"+data['用例号']+",用例名称:"+data['用例名称']+",用例接口:"+data["请求API"]) #测试环境处理 self.disposeenvhandle.set_env(data) # #请求接口url处理 url = self.disposeapihandle.get_url(data) #请求接口hearder处理 header = self.disposeheaderhandle.get_header(data) #请求接口payload处理 payload = self.disposecasehandle.get_payload(data) #获取请求类型 method = data['请求类型'] #请求接口 r = self.runmethodhandle.run_main(url,method,header,payload) #获取预期结果数据 expectedreport = self.disposereporthandle.get_report(data) #断言 try: #返回状态断言 self.assertEqual(expectedreport['status_code'],r.status_code) if r.status_code == 200: #数据断言 if "expecteddata" in expectedreport: if r.text != '': self.disposeasserthandle.AssertReport(expectedreport['expecteddata'],eval(r.text.replace('false', 'False').replace('true', 'True').replace('null','""'))) else: self.disposeasserthandle.AssertReport(expectedreport['expecteddata'],payload) elif r.status_code == 400: if "expecteddata" in expectedreport: self.disposeasserthandle.AssertReport(expectedreport['expecteddata'],eval(r.text.replace('false', 'False').replace('true', 'True').replace('null','""'))) except AssertionError as e: print(e) raise finally: #保存依赖数据 self.disposerelyhandle.set_rely(data,r)
class Common(unittest.TestCase): @classmethod def setUpClass(self): self.runmethodhandle = RunMain.RunMethod() self.disposeapihandle = DisposeApi.DisposeApi(case_name) self.disposeheaderhandle = DisposeHeader.DisposeHeader() self.disposecasehandle = DisposeCase.DisposeCase(case_name) self.disposereporthandle = DisposeReport.DisposeReport(case_name) self.disposerelyhandle = DisposeRely.DisposeRely() self.readdbhandle = ReadDB.ReadDB() self.readtxthandle = ReadTxt.ReadTxt('cleardata') #清除测试数据 sql = self.readtxthandle.get_clear_data() print('-------------------开始清除原测试数据-------------------') self.readdbhandle.modify_data(sql) print('-------------------结束清除原测试数据-------------------') print('--------------------开始创建测试数据--------------------') @classmethod def tearDownClass(self): print('--------------------结束创建测试数据--------------------') pass def setUp(self): pass def tearDown(self): pass #数据驱动执行字段'是否执行'为是的用例 @ddt.data(1) def test_Common(self, data): case = DisposeCase.DisposeCase(case_name).get_case_data() for data in case: time.sleep(2) print("正在执行用例:" + data['用例号'] + ",用例名称:" + data['用例名称'] + ",用例接口:" + data["请求API"]) #处理sql语句 if data['模块'] == 'sql': sqlarr = [] sqlarr = data['请求API'].split(';') self.readdbhandle.modify_data(sqlarr) continue #请求接口url处理 url = self.disposeapihandle.get_url(data) #请求接口hearder处理 header = self.disposeheaderhandle.get_header(data) #请求接口payload处理 payload = self.disposecasehandle.get_payload(data) #获取请求类型 method = data['请求类型'] #请求接口 r = self.runmethodhandle.run_main(url, method, header, payload) #断言 if r.status_code == 200: #保存依赖数据 time.sleep(2) self.disposerelyhandle.set_rely(data, r) pass else: print(r.status_code, r.text) os._exit(0)