def test_login(self, case): # 准备测试数据 url = conf.get('env', 'url') + case['url'] method = case['method'] if '#phone#' in case['data']: case['data'] = case['data'].replace('#phone#', conf.get('env', 'phone')) data = eval(case['data']) expected = eval(case['expected']) headers = eval(conf.get('env', 'headers')) row = case['case_id'] + 1 # 发送请求 response = self.http.send(url=url, method=method, json=data, headers=headers) res = response.json() # 比对预期结果与实际结果 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') mylog.info('用例:{}---->执行未通过'.format(case['title'])) mylog.error(e) print('预期结果:{}'.format(expected)) print('实际结果:{}'.format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='通过') mylog.info('用例:{}---->执行已通过'.format(case['title']))
def test_audit(self, case): pass # 准备用例数据 url = conf.get('env', 'url') + case['url'] method = case['method'] case['data'] = replace_data(case['data']) data = eval(case['data']) expected = eval(case['expected']) headers = eval(conf.get('env', 'header')) headers['Authorization'] = getattr(TestData, 'token_data') row = case['case_id'] + 1 # 发送请求 response = self.http.send(url=url, method=method, json=data, headers=headers) res = response.json() # 断言 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql=replace_data(case['check_sql']) result_status=self.db.get_one(sql)[0] self.assertEqual(expected['status'],result_status) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') my_logger.info('用例--->{}:执行未通过'.format(case['title'])) my_logger.error(e) print("预期结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') my_logger.info('用例--->{}:执行已通过'.format(case['title']))
def __init__(self): self.con = pymysql.connect(host=conf.get('mysql', 'host'), user=conf.get('mysql', 'user'), password=conf.get('mysql', 'password'), port=conf.getint('mysql', 'port'), charset='utf8') self.cur = self.con.cursor()
def test_withdraw(self, case): # 准备用例数据 # 拼接url url = conf.get('env', 'url') + case['url'] method = case['method'] case['data'] = replace_data(case['data']) data = eval(case['data']) expected = eval(case['expected']) row = case['case_id'] + 1 header = eval(conf.get('env', 'header')) if case['interface'] != '登录': header['Authorization'] = TestData.token_data # 判断是否需要校验 if case['check_sql']: sql = case['check_sql'].format(getattr(TestData, 'phone')) # 获取充值前的余额 before_amount = self.db.get_one(sql)[0] response = self.rest.send(url=url, method=method, json=data, headers=header) res = response.json() if case['interface'] == '登录': # 获取member_id member_id = jsonpath.jsonpath(res, '$..id')[0] setattr(TestData, 'member_id', str(member_id)) # 获取token类型 token_type = jsonpath.jsonpath(res, '$..token_type')[0] # 获取token值 token = jsonpath.jsonpath(res, '$..token')[0] token_data = token_type + ' ' + token setattr(TestData, 'token_data', token_data) try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql = case['check_sql'].format(getattr(TestData, 'phone')) after_amount = self.db.get_one(sql)[0] expected_amount = decimal.Decimal(str(data['amount'])) my_logger.info('提现前余额:{}\n,提现余额:{}\n,提现后余额:{}'.format( before_amount, expected_amount, after_amount)) self.assertEqual(expected_amount, (before_amount - after_amount)) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') my_logger.info('用例-->{}:执行未通过'.format(case['title'])) my_logger.error(e) print("预期结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') my_logger.info('用例-->{}:执行已通过'.format(case['title']))
def test_add(self,case): # 准备测试数据 url=conf.get('env','url')+case['url'] case['data']=replace_data(case['data']) data=eval(case['data']) headers=eval(conf.get('env','headers')) if case['interface'] !='登录': headers['Authorization']=getattr(CaseData,'token_data') method=case['method'] expected=eval(case['expected']) row=case['case_id']+1 # 请求前查看该用户有几条标记录 if case['check_sql']: sql=case['check_sql'].format(getattr(CaseData,'admin_member_id')) before_count=self.db.count(sql) # 发送请求 response=self.http.send(url=url,method=method,json=data,headers=headers) res=response.json() # 如果是登录接口,提取出id和token值 if case['interface']=='登录': id=jsonpath.jsonpath(res,'$..id')[0] setattr(CaseData,'admin_member_id',str(id)) token_type=jsonpath.jsonpath(res,'$..token_type')[0] token = jsonpath.jsonpath(res, '$..token')[0] token_data=token_type+' '+token setattr(CaseData,'token_data',token_data) # 断言 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql =case['check_sql'].format(getattr(CaseData,'admin_member_id')) after_count = self.db.count(sql) self.assertEqual((after_count-before_count),1) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') mylog.info('用例:{}---->测试未通过'.format(case['title'])) print('预期结果:{}'.format(expected)) print('实际结果:{}'.format(res)) mylog.error(e) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') mylog.info('用例:{}---->测试已通过'.format(case['title']))
def test_invest(self,case): pass # 准备用例数据 url=conf.get('env','url')+case['url'] # 测试数据 case['data']=replace_data(case['data']) data=eval(case['data']) # 请求方法 method=case['method'] # 请求头 headers = eval(conf.get('env', 'headers')) if case['interface']!='login': headers['Authorization']=getattr(CaseData,'token_data') # 预期结果 expected=eval(case['expected']) # 行号 row=case['case_id']+1 # 发送请求 response=self.http.send(url=url,method=method,json=data,headers=headers) res=response.json() #提取member_id和token if case['interface']=='login' and res['msg']=='OK': member_id=jsonpath.jsonpath(res,'$..id')[0] setattr(CaseData,'member_id',str(member_id)) token_type=jsonpath.jsonpath(res,'$..token_type')[0] token = jsonpath.jsonpath(res, '$..token')[0] token_data=token_type+' '+token setattr(CaseData,'token_data',token_data) #提取项目id elif case['interface']=='add'and res['msg']: loan_id=jsonpath.jsonpath(res,'$..id')[0] setattr(CaseData,'loan_id',str(loan_id)) # 断言 try: self.assertEqual(expected['code'],res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql=replace_data(case['check_sql']) status=self.db.get_one(sql)[0] self.assertEqual(expected['status'],status) except AssertionError as e: self.excel.write_excel(row=row,column=8,value='未通过') mylog.info('用例:{}---->执行未通过'.format(case['title'])) mylog.error(e) print('预期结果:{}'.format(expected)) print('实际结果:{}'.format(res)) raise e else: self.excel.write_excel(row=row,column=8,value='通过') mylog.info('用例:{}---->执行已通过'.format(case['title']))
def test_withdraw(self, case): # 准备测试数据 withdraw_url = conf.get('env', 'url') + case['url'] case['data']=replace_data(case['data']) withdraw_data = eval(case['data']) method = case['method'] headers = eval(conf.get('env', 'headers')) if case['interface'] !='登录': headers['Authorization'] =CaseData.token_data row = case['case_id'] + 1 expected=eval(case['expected']) # 发送请求前查询账号余额 if case['check_sql']: sql =case['check_sql'].format(conf.get('env','phone')) before_amount = self.db.get_one(sql)[0] # 发送请求,获取响应结果 response = self.http.send(url=withdraw_url, method=method, json=withdraw_data, headers=headers) res = response.json() # 判断是登录接口还是提现接口 if case['interface'] == '登录': member_id = jsonpath.jsonpath(res, '$..id')[0] token_type = jsonpath.jsonpath(res, '$..token_type')[0] token = jsonpath.jsonpath(res, '$..token')[0] token_data = token_type + ' ' + token setattr(CaseData, 'member_id', str(member_id)) setattr(CaseData,'token_data',token_data) # 比对预期结果与实际结果 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql =case['check_sql'].format(conf.get('env','phone')) after_amount = self.db.get_one(sql)[0] self.assertEqual((before_amount-after_amount),Decimal(str(withdraw_data['amount']))) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') mylog.info('用例:{}---->测试未通过'.format(case['title'])) print('预期结果:{}'.format(expected)) print('实际结果:{}'.format(res)) mylog.error(e) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') mylog.info('用例:{}---->测试已通过'.format(case['title']))
def test_addloan(self, case): # 准备用例数据 # 拼接完整的接口地址 url = conf.get('env', 'url') + case['url'] case['data']=replace_data(case['data']) data = eval(case['data']) expected = eval(case['expected']) row = case['case_id']+1 header = eval(conf.get('env', 'header')) if case['interface'] != '登录': header['Authorization'] = getattr(TestData,'token_data') method = case['method'] if case['check_sql']: sql = case['check_sql'].format(getattr(TestData, 'member_id')) before_count = self.db.get_count(sql) # 发送请求 response = self.http.send(url=url, method=method, json=data, headers=header) res = response.json() if case['interface']=='登录': # 获取用户id member_id=jsonpath.jsonpath(res,'$..id')[0] setattr(TestData,'member_id',str(member_id)) # 获取token类型 token_type=jsonpath.jsonpath(res,'$..token_type')[0] # 获取token值 token=jsonpath.jsonpath(res,'$..token')[0] token_data=token_type+' '+token setattr(TestData,'token_data',token_data) # 断言 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql = case['check_sql'].format(getattr(TestData,'member_id')) after_count = self.db.get_count(sql) self.assertEqual(1,after_count-before_count) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') my_logger.info("用例:{}--->执行未通过".format(case["title"])) my_logger.error(e) print("预取结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') my_logger.info("用例:{}--->执行已通过".format(case["title"]))
def test_addloan(self, case): # 准备用例数据 # 拼接完整的接口地址 url = conf.get('env', 'url') + case['url'] if '#member_id#' in case['data']: case['data'] = case['data'].replace('#member_id#', str(self.member_id)) if '#admin_phone#' in case['data']: case['data'] = case['data'].replace('#admin_phone#', str(self.admin_phone)) if '#admin_pwd#' in case['data']: case['data'] = case['data'].replace('#admin_pwd#', str(self.admin_pwd)) data = eval(case['data']) expected = eval(case['expected']) row = case['case_id']+1 header = eval(conf.get('env', 'header')) if case['interface'] != '登录': header['Authorization'] = self.token_data method = case['method'] # 发送请求 response = self.http.send(url=url, method=method, json=data, headers=header) res = response.json() if case['interface']=='登录': # 获取用户id TestAddLoan.member_id=jsonpath.jsonpath(res,'$..id')[0] # 获取token类型 token_type=jsonpath.jsonpath(res,'$..token_type')[0] # 获取token值 token=jsonpath.jsonpath(res,'$..token')[0] TestAddLoan.token_data=token_type+' '+token # 断言 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if res['msg'] == 'ok': sql = 'select * from futureloan.loan WHERE member_id={}'.format(self.member_id) count = self.db.get_count(sql) self.assertEqual(count, 1) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') my_logger.info("用例:{}--->执行未通过".format(case["title"])) my_logger.error(e) print("预取结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') my_logger.info("用例:{}--->执行已通过".format(case["title"]))
def setUpClass(cls): url = conf.get('env', 'url') + '/member/login' data = {"mobile_phone": conf.get('env', 'admin_phone'), "pwd": conf.get('env', 'admin_pwd') } headers = eval(conf.get('env', 'headers')) response = cls.http.send(url=url, method='post', json=data, headers=headers) res = response.json() # 提取token值和member_id id = jsonpath.jsonpath(res, '$..id')[0] setattr(CaseData, 'member_id', str(id)) token_type = jsonpath.jsonpath(res, '$..token_type')[0] token = jsonpath.jsonpath(res, '$..token')[0] token_data = token_type +' ' + token setattr(CaseData, 'token_data', token_data)
def test_invest(self, case): # 1、准备用例数据 url = conf.get('env', 'url') + case['url'] method = case['method'] case['data'] = replace_data(case['data']) data = eval(case['data']) headers = eval(conf.get('env', 'header')) if case['interface'] != 'login': headers['Authorization'] = getattr(TestData, 'token_data') expected = eval(case['expected']) row = case['case_id'] + 1 # 2、发送请求 response = self.http.send(url=url, method=method, json=data, headers=headers) res = response.json() if case['interface'] == 'login': # 提取member_id和token member_id = jsonpath.jsonpath(res, '$..id')[0] setattr(TestData, 'member_id', str(member_id)) token_type = jsonpath.jsonpath(res, '$..token_type')[0] token = jsonpath.jsonpath(res, '$..token')[0] token_data = token_type + ' ' + token setattr(TestData, 'token_data', token_data) elif case['interface'] == 'add': loan_id = jsonpath.jsonpath(res, '$..id')[0] setattr(TestData, 'loan_id', str(loan_id)) # 3、断言 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') my_logger.info('用例:{}--->执行未通过'.format(case['title'])) my_logger.error(e) print("预取结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') my_logger.info('用例:{}--->执行已通过'.format(case['title']))
def test_audit(self,case): # 准备测试数据 # 准备url地址 url=conf.get('env','url')+case['url'] # 请求方法 method=case['method'] # 请求数据 case['data']=replace_data(case['data']) data=eval(case['data']) print('data:',data) #配置文件获取headers headers=eval(conf.get('env','headers')) headers['Authorization']=getattr(CaseData,'token_data') # 预期结果 expected=eval(case['expected']) row=case['case_id']+1 # 发送请求 response=self.http.send(url=url,method=method,json=data,headers=headers) res=response.json() print('audit_res:',res) if case['title']=='审核通过' and res['msg']=='OK': pass_loan_id=getattr(CaseData,'loan_id') setattr(CaseData,'pass_loan_id',pass_loan_id) # 断言 try: self.assertEqual(expected['code'],res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql=replace_data(case['check_sql']) status=self.db.get_one(sql)[0] self.assertEqual(expected['status'],status) except AssertionError as e: self.excel.write_excel(row=row,column=8,value='未通过') mylog.info('用例:{}---->执行未通过'.format(case['title'])) mylog.error(e) print("预期结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row,column=8,value='已通过') mylog.info('用例:{}---->执行已通过'.format(case['title']))
def test_recharge(self, case): case['data'] = replace_data(case['data']) data = eval(case['data']) expected = eval(case['expected']) row = case['case_id'] + 1 url = case['url'] recharge_url = base_url + url method = case['method'] header = eval(conf.get('env', 'header')) header['Authorization'] = getattr(TestData, 'token_data') # 请求之前数据库看一下当前用户有多少钱 # 请求后数据库看一下当前用户有多少钱 # 然后比对增加的钱和用例中的钱 if case['check_sql']: sql = case['check_sql'].format(conf.get('login_data', 'phone')) before_amount = self.db.get_one(sql)[0] response = self.rest.send(url=recharge_url, method=method, json=data, headers=header) res = response.json() leave_amount = jsonpath.jsonpath(res, '$..leave_amount') try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql = case['check_sql'].format(conf.get('login_data', 'phone')) after_amount = self.db.get_one(sql)[0] expected_amount = eval(case['data'])['amount'] self.assertEqual(decimal.Decimal(str(expected_amount)), (after_amount - before_amount)) my_logger.info('充值之前金额为:{}\n,充值金额为:{}\n,充值后金额为:{}'.format( before_amount, expected_amount, after_amount)) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') my_logger.info('用例-->{}:执行未通过'.format(case['title'])) my_logger.error(e) print("预期结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') my_logger.info('用例-->{}:执行已通过'.format(case['title']))
def setUp(self): url = conf.get('env', 'url') + '/loan/add' data = { "member_id": getattr(TestData, 'admin_member_id'), "title": "借钱实现财富自由", "amount": 2000, "loan_rate": 12.0, "loan_term": 3, "loan_date_type": 1, "bidding_days": 5 } headers = eval(conf.get('env', 'header')) headers['Authorization'] = getattr(TestData, 'token_data') response = self.http.send(url=url, method='post', json=data, headers=headers) res = response.json() # 获取项目id loan_id = jsonpath.jsonpath(res, '$..id')[0] setattr(TestData, 'loan_id', str(loan_id))
def setUp(self): url = conf.get('env', 'url') + '/loan/add' data= { "member_id":getattr(CaseData,'member_id'), "title":"升职加薪", "amount":5000, "loan_rate":18, "loan_term":12, "loan_date_type":1, "bidding_days":6 } headers=eval(conf.get('env','headers')) headers['Authorization']=getattr(CaseData,'token_data') response=self.http.send(url=url,method='post',json=data,headers=headers) res=response.json() # 提取id loan_id=jsonpath.jsonpath(res,'$..id')[0] setattr(CaseData,'loan_id',str(loan_id))
def test_recharge(self, case): # 准备测试数据 recharge_url = conf.get('env', 'url') + case['url'] case['data'] = replace_data(case['data']) recharge_data = eval(case['data']) method = case['method'] headers = eval(conf.get('env', 'headers')) headers['Authorization'] = getattr(CaseData, 'token_data') expected = eval(case['expected']) row = case['case_id'] + 1 # 发送请求前查询一下账号余额 if case['check_sql']: sql = case['check_sql'].format(conf.get('env', 'phone')) before_amount = self.db.get_one(sql)[0] # 发送请求,获取响应结果 response = self.http.send(url=recharge_url, method=method, json=recharge_data, headers=headers) res = response.json() #比对预期结果与实际结果 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: sql = case['check_sql'].format(conf.get('env', 'phone')) after_amount = self.db.get_one(sql)[0] self.assertEqual((after_amount - before_amount), Decimal(str(recharge_data['amount']))) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') mylog.info('用例:{}---->测试未通过'.format(case['title'])) print('预期结果:{}'.format(expected)) print('实际结果:{}'.format(res)) mylog.error(e) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') mylog.info('用例:{}---->测试已通过'.format(case['title']))
def setUpClass(cls): # 准备测试数据 login_url = conf.get('env', 'url') + '/member/login' data = { 'mobile_phone': conf.get('env', 'phone'), 'pwd': conf.get('env', 'pwd') } headers = eval(conf.get('env', 'headers')) # 发送请求 response = cls.http.send(url=login_url, method='post', json=data, headers=headers) res = response.json() #保存member_id member_id = jsonpath.jsonpath(res, '$..id')[0] setattr(CaseData, 'member_id', str(member_id)) token_type = jsonpath.jsonpath(res, '$..token_type')[0] token = jsonpath.jsonpath(res, '$..token')[0] # 拼接token认证数据 token_data = token_type + ' ' + token setattr(CaseData, 'token_data', token_data)
def test_register(self, case): # 准备测试数据 # 拼接完整的接口地址 url = conf.get('env', 'url') + '/member/register' # 请求方法 method = case['method'] if '#phone#' in case['data']: phone = self.random_phone() case['data'] = case['data'].replace('#phone#', phone) data = eval(case['data']) expected = eval(case['expected']) headers = eval(conf.get('env', 'headers')) row = case['case_id'] + 1 # 2、发送请求 response = self.http.send(url=url, method=method, json=data, headers=headers) res = response.json() # 3、比对预期结果与实际结果 try: self.assertEqual(expected['code'], res['code']) self.assertEqual(expected['msg'], res['msg']) if case['check_sql']: print(case['check_sql'],type(case['check_sql'])) sql=case['check_sql'].format(conf.get('env','phone')) count=self.db.count(sql) self.assertEqual(count,1) except AssertionError as e: self.excel.write_excel(row=row, column=8, value='未通过') mylog.info('用例:{}----->执行未通过'.format(case['title'])) mylog.error(e) print("预期结果:{}".format(expected)) print("实际结果:{}".format(res)) raise e else: self.excel.write_excel(row=row, column=8, value='已通过') mylog.info('用例:{}----->执行已通过'.format(case['title']))
def setUpClass(cls): # 创建数据库对象 cls.db = HandDB() # 登录,获取用户的id以及鉴权需要用到的token login_url = base_url + '/member/login' login_data = { "mobile_phone": conf.get('login_data', 'phone'), "pwd": conf.get('login_data', 'pwd') } expected = {'code': 0, 'msg': 'OK'} header = eval(conf.get('env', 'header')) response = requests.post(url=login_url, json=login_data, headers=header) res = response.json() # 获取用户id member_id = jsonpath.jsonpath(res, '$..id')[0] setattr(TestData, "member_id", str(member_id)) # 获取token类型 token_type = jsonpath.jsonpath(res, '$..token_type')[0] # 获取token值 token = jsonpath.jsonpath(res, '$..token')[0] token_data = token_type + ' ' + token setattr(TestData, 'token_data', token_data)
def replace_data(data): r = r'#(.+?)#' # 判断是否有需要替换的数据 while re.search(r, data): # 匹配第一个要替换的数据 res = re.search(r, data) # 提取待替换的内容 item = res.group() # 获取替换内容的数据项 key = res.group(1) try: # 根据替换内容中的数据项去配置文件中找到对应的内容,进行替换 data = data.replace(item, conf.get('login_data', key)) except: data = data.replace(item, getattr(TestData, key)) # 返回替换好的数据 return data
def replace_data(data): r = r = '#(.+?)#' # 判断是否有要替换的数据 while re.search(r, data): # 匹配出第一个要替换的数据 res = re.search(r, data) #提取待替换的内容 item = res.group() #提取替换内容中的数据项 key = res.group(1) try: # 根据替换内容中的数据项去配置文件中找到对应的的内容,进行替换 data = data.replace(item, conf.get('env', key)) except: data = data.replace(item, getattr(CaseData, str(key))) # 返回替换好的数据 return data
def setUpClass(cls): phone = conf.get('login_data', 'phone') setattr(TestData, 'phone', phone) pwd = conf.get('login_data', 'pwd') setattr(TestData, 'pwd', pwd)
def setUpClass(cls): cls.db = HandDB() cls.admin_phone=conf.get('login_data','admin_phone') cls.admin_pwd=conf.get('login_data','admin_pwd')
""" ============================ Author : XiaoLei.Du Time : 2019/11/23 17:53 E-mail : [email protected] File : log_func.py ============================ """ import os import logging from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler from common.contans import LogDir from common.read_conf import conf level = conf.get('logging', 'level') f_level = conf.get('logging', 'f_level') s_level = conf.get('logging', 's_level') filename = conf.get('logging', 'filename') class MyLogger(object): @staticmethod def create_logger(): # 一、自定义一个名为python24的日志收集器 test_log = logging.getLogger(filename) # 二、定义日志收集器等级 test_log.setLevel(level) # 三、添加输出渠道 # 1、创建一个输出到控制台的输出渠道 sh = logging.StreamHandler() # 2、设置输出等级(输出到控制台) sh.setLevel(s_level)
============================ Author : XiaoLei.Du Time : 2020/4/6 17:55 E-mail : [email protected] File : run.py ============================ """ import os import unittest from library.HTMLTestRunnerNew import HTMLTestRunner from common.contants import REPORT_DIR, CASE_DIR from common.read_conf import conf from testcases import test_login, test_recharge, test_withdraw, test_register, test_add, test_audit, test_invest #第一步:创建测试套件 suite = unittest.TestSuite() #第二步:加载测试用例到测试套件中 loader = unittest.TestLoader() suite.addTest(loader.discover(CASE_DIR)) # suite.addTest(loader.loadTestsFromModule(test_invest)) # 第三步:创建启动程序 report_path = os.path.join(REPORT_DIR, conf.get('report', 'filename')) with open(report_path, 'wb') as f: runner = HTMLTestRunner(stream=f, title=conf.get('report', 'title'), description=conf.get('report', 'description'), tester=conf.get('report', 'tester')) # 运行程序 runner.run(suite)
""" import os import unittest import requests import jsonpath from common.read_conf import conf from common.read_excel import ReadExcel from common.contans import DataDir from common.hander_request import HanderRequest from library.ddt import ddt, data from common.my_logger import my_logger from common.hande_db import HandDB import decimal from common.hander_data import TestData, replace_data base_url = conf.get('env', 'url') header = eval(conf.get('env', 'header')) @ddt class TestRecharge(unittest.TestCase): datapath = os.path.join(DataDir, 'cases.xlsx') excel = ReadExcel(datapath, 'recharge') recharge_data = excel.read_excel() rest = HanderRequest() @classmethod def setUpClass(cls): # 创建数据库对象 cls.db = HandDB() # 登录,获取用户的id以及鉴权需要用到的token
""" ============================ Author : XiaoLei.Du Time : 2019/11/23 17:22 E-mail : [email protected] File : run_suite.py ============================ """ import os import unittest from library.HTMLTestRunnerNew import HTMLTestRunner from common.contans import CaseDir, ReportDir from common.read_conf import conf from testcases import test_login, test_recharge, test_withdraw, test_addloan, test_audit, test_invest title = conf.get('report', 'title') description = conf.get('report', 'description') tester = conf.get('report', 'tester') # 第一步:新建测试套件 suite = unittest.TestSuite() # 第二步:加载测试用例到测试套件 loader = unittest.TestLoader() case_path = os.path.join(CaseDir) suite.addTest(loader.discover(case_path)) # suite.addTest(loader.loadTestsFromModule(test_invest)) # 第三步:新建测试用例启动器 report_path = os.path.join(ReportDir, 'report.html') with open(report_path, 'wb') as f: runner = HTMLTestRunner(stream=f, title=title, description=description,