class TestCases(unittest.TestCase): def setUp(self):#测试前的准备 self.t = DoExcel(case_path, 'register') # def tearDown(self): pass test_data = DoExcel(case_path, 'register').read_data('CaseRegister') @data(*test_data) def test_case(self,case): global TestResult # test_data = DoExcel(case_path, 'Sheet1').read_data() method = case['Method'] # 获取请求方法 url = case['URL'] # 获取请求地址 param = eval(case['Params']) # 获取请求参数 logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format(case['Module'], case['CaseId'], case['Title'])) logger.info('测试数据是{}'.format(case)) resp = HttpRequest().http_request(method, url, param,cookies=None) try: self.assertEqual(eval(case['ExpectedResult']),resp.json()) TestResult='Pass' except AssertionError as e: logger.error('请求错误,错误是{}'.format(e)) TestResult = 'Failed' raise e finally: #写回结果 # t = DoExcel(case_path, 'Sheet1') self.t.write_back(case['CaseId'] + 1, 9, resp.text) self.t.write_back(case['CaseId'] + 1, 10, TestResult) logger.info('测试结果{}'.format(resp.json()))
def setUp(self): #测试前的准备 self.t = DoExcel(case_path, 'recharge') #
class TestCases(unittest.TestCase): def setUp(self): #测试前的准备 self.t = DoExcel(case_path, 'recharge') # def tearDown(self): pass test_data = DoExcel(case_path, 'recharge').read_data('CaseRecharge') @data(*test_data) def test_case(self, case): global TestResult # global cookies #定义全局变量 # test_data = DoExcel(case_path, 'Sheet1').read_data() method = case['Method'] # 获取请求方法 url = case['URL'] # 获取请求地址 # param = eval(case['Params']) # 获取请求参数 param = eval(get_data.replace(case['Params'])) # print(param) case['ExpectedResult'] = get_data.replace(case['ExpectedResult']) if case['SQL'] != None: sql = get_data.replace(case['SQL']) if case['CaseId'] == 1: query = eval(sql)['sql'] #获取sql语句 id = DoMySql().do_mysql(query, 1)[0] setattr(GetData, 'id', str(id)) logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format( case['Module'], case['CaseId'], case['Title'])) logger.info('测试数据是{}'.format(case)) if case['CaseId'] == 2: query = eval(sql)['sql'] #获取sql语句 before_leaveamount = DoMySql().do_mysql( query, 1)[0] #操作数据库 获取项目id值 获取的是个元组 取出元组元素 print(before_leaveamount) resp = HttpRequest().http_request(method, url, param, cookies=getattr( GetData, 'cookies')) #传入cookies #判断实际发出的请求是否产生cookies值 if resp.cookies: #判断 setattr(GetData, 'cookies', resp.cookies) try: if case['CaseId'] == 2: query = eval(sql)['sql'] after_leaveamount = DoMySql().do_mysql(query, 1)[0] print(after_leaveamount) expect_leaveamount = before_leaveamount + int(param['amount']) self.assertEqual(after_leaveamount, expect_leaveamount) print(expect_leaveamount) if case['ExpectedResult'].find('expect_amount') != -1: case['ExpectedResult'] = case['ExpectedResult'].replace( 'expect_amount', str(expect_leaveamount)) self.assertEqual(eval(case['ExpectedResult']), resp.json()) TestResult = 'Pass' except AssertionError as e: logger.error('请求错误,错误是{}'.format(e)) TestResult = 'Failed' raise e finally: #写回结果 # t = DoExcel(case_path, 'Sheet1') self.t.write_back(case['CaseId'] + 1, 9, resp.text) self.t.write_back(case['CaseId'] + 1, 10, TestResult) logger.info('测试结果{}'.format(resp.json()))
def setUp(self):#测试前的准备 self.t = DoExcel(case_path, 'register') #
def setUp(self): #测试前的准备 self.t = DoExcel(case_path, 'invest') #
class TestCases(unittest.TestCase): def setUp(self): #测试前的准备 self.t = DoExcel(case_path, 'invest') # def tearDown(self): pass test_data = DoExcel(case_path, 'invest').read_data('CaseInvest') @data(*test_data) def test_case(self, case): global TestResult # test_data = DoExcel(case_path, 'Sheet1').read_data() method = case['Method'] # 获取请求方法 url = case['URL'] # 获取请求地址 # param = eval(case['Params']) # 获取请求参数 # t=case['SQL'] # if case['CaseId']==1: # # print(eval(t)['sql2']) # loanid=DoMySql().do_mysql(eval(t)['sql2'],1) # print(loanid) param = eval(get_data.replace(case['Params'])) # print(param) if case['SQL'] != None: sql = get_data.replace(case['SQL']) logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format( case['Module'], case['CaseId'], case['Title'])) logger.info('测试数据是{}'.format(case)) if case['CaseId'] == 2: query = eval(sql)['sql'] # 获取sql语句11 11 before_leaveamount = DoMySql().do_mysql( query, 1)[0] # 操作数据库 获取项目id值 获取的是个元组 取出元组元素 print(before_leaveamount) resp = HttpRequest().http_request(method, url, param, cookies=getattr(GetData, 'cookies')) if case['CaseId'] == 1: query = eval(sql)['sql'] # 获取sql语句 id = DoMySql().do_mysql(query, 1)[0] # 操作数据库 获取项目id值 获取的是个元组 取出元组元素 setattr(GetData, 'normal_memberid', str(id)) # 动态获取项目id值 print(id) if case['CaseId'] == 1: query = eval(sql)['sql2'] #获取sql语句 loan_id = DoMySql().do_mysql(query, 1)[0] #操作数据库 获取项目id值 获取的是个元组 取出元组元素 setattr(GetData, 'loan_id', str(loan_id)) #动态获取项目id值 print(loan_id) # if resp.cookies: setattr(GetData, 'cookies', resp.cookies) if case['CaseId'] == 2: query = eval(sql)['sql'] after_leaveamount = DoMySql().do_mysql(query, 1)[0] print(after_leaveamount) try: if case['SQL'] == 2: query = eval(sql)['sql'] after_leaveamount = DoMySql().do_mysql(query, 1)[0] print(after_leaveamount) # print(type(after_leaveamount[0])) expect_leaveamount = before_leaveamount - int(param['amount']) print(expect_leaveamount) self.assertEqual(after_leaveamount, expect_leaveamount) self.assertEqual(eval(case['ExpectedResult']), resp.json()) TestResult = 'Pass' except AssertionError as e: logger.error('请求错误,错误是{}'.format(e)) TestResult = 'Failed' raise e finally: #写回结果 # t = DoExcel(case_path, 'Sheet1') self.t.write_back(case['CaseId'] + 1, 9, resp.text) self.t.write_back(case['CaseId'] + 1, 10, TestResult) logger.info('测试结果{}'.format(resp.json()))
def setUp(self):#测试前的准备 self.t = DoExcel(case_path, 'addloan') #
class TestCases(unittest.TestCase): def setUp(self):#测试前的准备 self.t = DoExcel(case_path, 'addloan') # def tearDown(self): pass test_data = DoExcel(case_path, 'addloan').read_data('CaseAddloan') @data(*test_data) def test_case(self,case): global TestResult # test_data = DoExcel(case_path, 'Sheet1').read_data() method = case['Method'] # 获取请求方法 url = case['URL'] # 获取请求地址 #参数化项目id 判断请求参数中是否参数化项目id 存在则替换成前一条用例所得到的项目id # if case['Params'].find('loanid')!=-1: # param=eval(case['Params'].replace('loanid',str(getattr(GetData,'loan_id')))) # # print(param['id']) # else: # param = eval(case['Params']) # 获取请求参数 #参数化 获取请求参数 param=eval(get_data.replace(case['Params'])) # print(param) if case['SQL']!=None: sql = get_data.replace(case['SQL']) # query = eval(sql)['sql'] # print(query) # print(sql) # print(type(sql)) logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format(case['Module'], case['CaseId'], case['Title'])) logger.info('测试数据是{}'.format(case)) resp = HttpRequest().http_request(method, url, param,cookies=getattr(GetData,'cookies')) #完成http请求 if case['CaseId'] == 1: query = eval(sql)['sql'] # 获取sql语句 id = DoMySql().do_mysql(query, 1)[0] # 操作数据库 获取项目id值 获取的是个元组 取出元组元素 setattr(GetData, 'normal_memberid', str(id)) # 动态获取项目id值 print(id) if case['CaseId']==2: query=eval(sql)['sql'] #获取sql语句 loan_id=DoMySql().do_mysql(query,1)[0] #操作数据库 获取项目id值 获取的是个元组 取出元组元素 setattr(GetData,'loanid',str(loan_id)) #动态获取项目id值 print(loan_id) if resp.cookies: setattr(GetData,'cookies',resp.cookies) try: self.assertEqual(eval(case['ExpectedResult']),resp.json()) TestResult='Pass' except AssertionError as e: logger.error('请求错误,错误是{}'.format(e)) TestResult = 'Failed' raise e finally: #写回结果 # t = DoExcel(case_path, 'Sheet1') self.t.write_back(case['CaseId'] + 1, 9, resp.text) self.t.write_back(case['CaseId'] + 1, 10, TestResult) logger.info('测试结果{}'.format(resp.json()))
def setUp(self): #测试前的准备 self.t = DoExcel(case_path, 'login') #