def test_api(self): res=HttpRequest().http_request(self.url,self.data,self.method) if res.cookies: #如果cookie有值,就更新cookie setattr(GetData,'Cookie',res.cookies) try: self.assertEqual(self.excepted,res.json()['code']) except AssertionError as e: print('测试出错了:'.format(e)) raise e print(res.json())
def test_api(self): # 接口用例 res = HttpRequest().http_request(self.url, self.data, self.method, getattr(GetData, 'Cookie')) if res.cookies: setattr(GetData, 'Cookie', res.cookies) try: self.assertEqual(self.expected, res.json()['msg']) except AssertionError as e: raise e
def test_api(self, item): # 接口用例 res = HttpRequest().http_request(item['url'], eval(item['data']), item['method'], getattr(GetData, 'Cookie')) if res.cookies: setattr(GetData, 'Cookie', res.cookies) try: self.assertEqual(item['expected'], res.json()['msg']) except AssertionError as e: raise e
def test_add_two_positive(self, item): global COOKIE data = {'mobile': 11111111, 'pwd': 123456} res = HttpRequest().http_request(self, eval(item['url']), eval(item['data']), eval(item['get'])) if res.cookies: setattr(GetData, 'Cookie', res.cookies)
def test_http(self, item): res = HttpRequest().http_request(item["url"], item["data.txt"], item["method"], getattr(GetData, "Cookie")) if res.cookies: setattr(GetData, "Cookie", res.cookies) try: # 抓取错误 异常处理 self.assertEquals(item["excepted"], res.json()["code"]) # 断言 # self.assertIn("登陆成功", res.json()["msg"]) TestResult = "PASS" except AssertionError as e: TestResult = "failed" print("test_api错误是{0}".format(e)) raise e # 异常处理之后需要抛出去 finally: DoExcel.write_back(test_case_path, "login", item["case_id"] + 1, str(res.json()), TestResult) print("获取到的结果是:".format(res.json()))
def test_add_two_zero(self): data = {'mobile': 11111111, 'pwd': 123456} res = HttpRequest().http_request(self, login_url, data, 'post', getattr(GetData, 'Cookie')) try: self.assertEqual(1, res, '两个0相加出错了') except AssertionError as e: print("出错了,断言错误是:", e) raise e
def test_add_two_zero(self, item): data = {'mobile': 11111111, 'pwd': 123456} res = HttpRequest().http_request(self, eval(item['url']), eval(item['data']), eval(item['get']), getattr(GetData, 'Cookie')) try: self.assertEqual(1, res, item['excepted']) except AssertionError as e: print("出错了,断言错误是:", e) raise e
def test_api(self, item): if item['check_database'] != None: my_log.info(".....此条用例需要校验数据库.....") before_freeze_amount = DoMysql().do_mysql( item['check_database'])[0][5] my_log.info('执行用例{0}前DB冻结余额为{1},提现金额为{2}'.format( item['title'], before_freeze_amount, eval(item['data'])['amount'])) my_log.info("开始调用接口") res = HttpRequest().http_test(item['url'], eval(item['data']), item['method'], getattr(GetData, "Cookie")) my_log.info('接口调用完成') my_log.info('执行用例{0}后查看数据库'.format(item['title'])) after_freeze_amount = DoMysql().do_mysql( item['check_database'])[0][5] my_log.info('执行用例{0}后DB冻结余额为{1}'.format(item['title'], after_freeze_amount)) if after_freeze_amount == before_freeze_amount + eval( item['data'])['amount']: check_result = '数据库校验通过' my_log.info(check_result) else: check_result = '数据库校验未通过' my_log.info(check_result) else: res = HttpRequest().http_test(item['url'], eval(item['data']), item['method'], getattr(GetData, "Cookie")) check_result = None if res.cookies: setattr(GetData, 'Cookie', res.cookies) try: self.assertEqual(item['expected'], res.json()['code1']) TestResult = 'PASS' except Exception as e: TestResult = 'Failed' print(Exception.with_traceback()) # my_log.error("执行用例出错误了{}".format(e)) # raise e finally: my_log.info("获取到的结果是:{}".format(res.json())) DoExcel().wirte_back(test_case_path, item['sheet_name'], item['code'] + 1, str(res.json()), TestResult, check_result)
def test_http(self, item): my_logger.info("开始执行用例:{0}--{1}".format(item['case_id'], item['title'])) if item['data.txt'].find('${loan_id}') != -1: # 请求之前完成loan_id的替换 if getattr(GetData, 'loan_id') == None: query_sql = 'select max(Id) from loan where MemberID={0}'.format( getattr(GetData, 'loan_member_id')) loan_id = DoMysql().do_mysql(query_sql)[0][0] item['data.txt'] = item['data.txt'].replace(('${loan_id}'), str(loan_id)) setattr(GetData, 'loan_id', loan_id) my_logger.info(loan_id) else: my_logger.info(getattr(GetData, 'loan_id')) item['data.txt'] = item['data.txt'].replace( ('${loan_id}'), str(getattr(GetData, 'loan_id'))) my_logger.info("获取到的请求数据是:{0}".format(item['data.txt'])) if item['check_sql'] != None: #当文件中check_sql不为空的时候,需要进行数据库校验 my_logger.info("此条数据需要做数据库校验:{0}".format(item["title"])) query_sql = eval( item['check_sql'])['sql'] #拿到了sql语句,注意是存在字典里面的(Excel) # print(query_sql) # 开始查询 Before_Amount = DoMysql().do_mysql(query_sql, 1)[0] #请求之前的账户余额 my_logger.info("用例:{0}请求之前的余额是:{1}".format((item["title"]), Before_Amount)) my_logger.info('----------开始http接口请求---------') res = HttpRequest().http_request(item["url"], eval(item["data.txt"]), item["http_method"], getattr(GetData, "Cookie")) my_logger.info('----------完成http接口请求---------') After_Amount = DoMysql().do_mysql(query_sql, 1)[0] #请求之后的账户余额 my_logger.info("用例:{0}请求之后的余额是:{1}".format((item["title"]), After_Amount)) print(abs(After_Amount)) # 检查结果 if float(eval(item["data.txt"])['amount']) == float( abs(Before_Amount - After_Amount)): #abs绝对值 my_logger.info('数据库余额校验通过') check_sql_result = '数据库检查通过' else: my_logger.info('数据库余额校验未通过') check_sql_result = '数据库检查未通过' # 写回结果 DoExcel.write_back(test_case_path, item["sheet_name"], item["case_id"] + 1, 10, check_sql_result) else: my_logger.info("此条数据不需要做数据库校验:{0}".format(item["title"])) my_logger.info('----------开始http接口请求---------') res = HttpRequest().http_request(item["url"], eval(item["data.txt"]), item["http_method"], getattr(GetData, "Cookie")) my_logger.info('----------完成http接口请求---------') if res.cookies: setattr(GetData, "Cookie", res.cookies) try: # 抓取错误 异常处理 self.assertEqual(str(item["expected"]), res.json()["code"]) # 断言 # self.assertIn("登陆成功", res.json()["msg"]) TestResult = "PASS" except AssertionError as e: TestResult = "failed" my_logger.info("test_api错误是{0}".format(e)) raise e # 异常处理之后需要抛出去 finally: DoExcel.write_back(test_case_path, item["sheet_name"], item["case_id"] + 1, 8, str(res.json())) DoExcel.write_back(test_case_path, item["sheet_name"], item["case_id"] + 1, 9, TestResult) my_logger.info("获取到的结果是:{0}".format(res.json()))
def test_add_two_positive(self): global COOKIE data = {'mobile': 11111111, 'pwd': 123456} res = HttpRequest().http_request(self, login_url, data, 'get') if res.cookies: setattr(GetData, 'Cookie', res.cookies)