def test_login(self, set_up, obj): url = hy.read_yaml('excel', 'base_url') + obj.url # if obj.caseId == 2: # HandlePhone.loop_generate_phone() request_data = HandleRe.get_data(data=obj.data) result = set_up[0].send(url=url, data=request_data) try: assert [obj.expected, obj.msg] == [result.json()['code'], result.json()['msg']] # self.assertListEqual([obj.expected, obj.msg], [result.json()['code'], result.json()['msg']], # msg=f"用例{obj.title}执行完成") except AssertionError as e: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='fail') logger.error(e) raise e else: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='success') logger.info(f"用例{obj.title}执行通过") finally: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=8, sheet_value=result.text)
def test_user_register(self, one_case): logger.info("正在执行第{0}条用例:{1}".format(one_case["case_id"], one_case["title"])) url_new = config_read_file.get_value("api", "url") + one_case["url"] new_data = HandleContext.reginster_paramization(one_case["data"]) logger.info("\n请求url为{0}\ndata为{1}".format(url_new, new_data)) register = self.resp.sendRequests(method=one_case["method"], url=url_new, data=eval(new_data)) # 返回注册响应对象 try: self.assertEqual(one_case["expected"], register.text, msg=one_case["title"]) result = "True" logger.info("\'{0}\'用例执行成功".format(one_case["title"])) except AssertionError as err: logger.error("{0}用例执行失败,错误信息为: {1}".format(one_case["title"], err)) result = "False" raise err finally: logger.info("写入结果开始") do_excel.write_result(row=one_case["case_id"] + 1, column=8, result=result) do_excel.write_result(row=one_case["case_id"] + 1, column=7, result=register.text) logger.info("写入结果结束")
def test_invest(self, set_up, obj): url = hy.read_yaml('excel', 'base_url') + obj.url request_data = HandleRe.get_data(data=obj.data) result = set_up[0].send(url=url, data=request_data) if obj.caseId == 2: login_token = result.json()['data']['token_info']['token'] set_up[0].common_head({"Authorization": "Bearer " + login_token}) try: assert [obj.expected, obj.msg] == [result.json()['code'], result.json()['msg']] except AssertionError as e: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='fail') logger.error(e) raise e else: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='success') logger.info(f"用例{obj.title}执行通过") finally: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=8, sheet_value=result.text)
def test_register(self, set_up, obj): url = hy.read_yaml('excel', 'base_url') + obj.url request_data = HandleRe.get_data(data=obj.data) result = set_up[0].send(url=url, data=request_data) try: assert [obj.expected, obj.msg] == [result.json()['code'], result.json()['msg']] if obj.caseId == 1: phone = result.json()['data']['mobile_phone'] mysql_result = set_up[1].get_mysql_result(hy.read_yaml( 'mysql', 'sql'), args=phone) assert mysql_result is not None except AssertionError as e: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='fail') logger.error(e) raise e else: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='success') logger.info(f"用例{obj.title}执行通过") finally: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=8, sheet_value=result.text)
def test_recharge(self, set_up, obj): url = hy.read_yaml('excel', 'base_url') + obj.url request_data = HandleRe.get_data(data=obj.data) result_sql = obj.sql invest_phone = set_up[2].read_yaml("investor", 'mobile_phone') if result_sql: mysql_result = set_up[1].get_mysql_result(sql=result_sql, args=invest_phone) if mysql_result[0]: before_amount = float(mysql_result[0]) else: before_amount = 0 result = set_up[0].send(url=url, data=request_data) if obj.caseId == 2: login_token = result.json()['data']['token_info']['token'] set_up[0].common_head({"Authorization": "Bearer " + login_token}) try: assert [obj.expected, obj.msg] == [result.json()['code'], result.json()['msg']] if result_sql: mysql_result = set_up[1].get_mysql_result(sql=result_sql, args=invest_phone) if mysql_result: after_amount = float(mysql_result[0]) recharge_value = float( result.json()['data']['leave_amount']) assert after_amount - before_amount == recharge_value except AssertionError as e: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='fail') logger.error(e) raise e else: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=7, sheet_value='success') logger.info(f"用例{obj.title}执行通过") finally: self.he.write_excel(rowid=int(obj.caseId) + 1, colid=8, sheet_value=result.text)
def test_register_case(self, case): title = case.title base_url = hy.read_yaml('api', 'load') all_url = ''.join((base_url, case.url)) re_data = HandleRe.get_re(case.data) result = self.hr.send(url=all_url, data=re_data) code = result.json()['code'] msg = result.json()['msg'] try: self.assertListEqual([case.expected, case.msg], [code, msg], msg=f"用例{title}测试完成") if int(case.caseId) == 1: response_phone = result.json()['data']['mobile_phone'] bl = self.hm.phone_exist_mysql(response_phone) self.assertTrue(bl) except Exception as e: self.he.write_excel(int(case.caseId) + 1, 7, value="fail") self.he.write_excel(int(case.caseId) + 1, 8, value=result.text) logger.error(e) raise e else: self.he.write_excel(int(case.caseId) + 1, 7, value="success") self.he.write_excel(int(case.caseId) + 1, 8, value=result.text) logger.info(title)
def tearDownClass(cls): cls.resp.close() logger.info("{0}".format("执行用例完成")) logger.info("******************************************************")
def setUpClass(cls): cls.resp = HandleRequest() logger.info("******************************************************") logger.info("{0}".format("开始执行用例"))
def test_user_login(self, one_case): logger.info("正在执行第{0}条用例:{1}".format(one_case["case_id"], one_case["title"])) url_new = config_read_file.get_value("api", "url") + one_case["url"] new_data = HandleContext.invest_paramization(one_case["data"]) logger.info("\n请求url为{0}\ndata为{1}".format(url_new, new_data)) invest = self.resp.sendRequests(method=one_case["method"], url=url_new, data=eval(new_data)) # 返回投资的响应对象 if "加标成功" in invest.text: check_sql = one_case["check_sql"] if check_sql: check_sql = HandleContext.invest_paramization(check_sql) mysql_result = self.sql.run_sql(check_sql) setattr(HandleContext, "loan_id", mysql_result.get("Id")) logger.info("\n响应数据为{1}".format(url_new, invest.text)) try: self.assertEqual(one_case["expected"], invest.text, msg=one_case["title"]) logger.info("\'{0}\'用例执行成功".format(one_case["title"])) result = "True" except AssertionError as err: logger.error("{0}用例执行失败,错误信息为: {1}".format(one_case["title"], err)) result = "False" raise err finally: logger.info("写入结果开始") do_excel.write_result(row=one_case["case_id"] + 1, column=8, result=result) do_excel.write_result(row=one_case["case_id"] + 1, column=7, result=invest.text) logger.info("写入结果结束")