def test_register(self, case): log.info(f"验证接口:{case.interface},接口url:{case.url}") # 第一步:准备测试数据,替换动态参数 # 替换配置文件中的固定参数 case.data = sub_conf(case.data) # 替换动态生成的参数 if "*phone*" in case.data: # 注册时,手机号码为动态注册的号码 phone = random_phone() case.data = case.data.replace("*phone*", phone) # 第二步:发送请求到接口,获取实际结果 res_code = self.request.http_request(method=case.method, url=self.url + case.url, data=eval(case.data)).json() # 第三步:比对预期结果和实际结果,断言用例是否通过 try: if case.check_sql: case.check_sql = case.check_sql.replace("*phone*", phone) count = self.mysql.find_count(case.check_sql) log.info(f"注册后数据库期望数据条数:1,注册后数据库实际数据条数:{count}") self.assertEqual(1, count) log.info(f"请求期望返回码:{eval(case.expected)},请求实际返回码:{res_code}") self.assertEqual(eval(case.expected), res_code)
def test_bidloan(self, case): log.info(f"验证接口:{case.interface},接口url:{case.url}") # 第一步:准备用例数据 # 替换配置文件中的固定参数 case.data = sub_conf(case.data) # 替换动态生成的参数 if "*phone*" in case.data: # 注册时,手机号码为动态注册的号码 phone = random_phone() case.data = case.data.replace("*phone*", phone) if "*memberId*" in case.data: # 想要用户id不存在,先找到最大用户id,加1即可 member_id = self.mysql.find_one( "select max(id) as memberId from member")[0] case.data = case.data.replace("*memberId*", str(member_id + 1)) if "*loanId*" in case.data: # 想要项目id不存在,先找到最大项目id,加1即可 loan_id = self.mysql.find_one( "select max(id) as loanId from loan")[0] case.data = case.data.replace("*loanId*", str(loan_id + 1)) if "*amount*" in case.data: # 想要可投金额不足,先找到可投金额的最大值,加大值即可 sql = f"select Amount from loan where Id = {eval(case.data)['loanId']}" case.data = case.data.replace( "*amount*", str(self.mysql.find_one(sql)[0] + 1000)) # 未登录时投资竞标,没有返回码 if case.expected_code: case.expected_code = str(case.expected_code)
def test_recharge(self, case): log.info(f"验证接口:{case.interface},接口url:{case.url}") # 第一步:准备测试数据,替换动态参数 # 替换配置文件中的固定参数 case.data = sub_conf(case.data) # 替换动态生成的参数 if "*phone*" in case.data: # 注册时,手机号码为动态注册的号码 phone = random_phone() case.data = case.data.replace("*phone*", phone) if "*amount*" in case.data: # 充值金额不足时,需要先获取库中的值 sql = f"select LeaveAmount from member where MobilePhone = '{eval(case.data)['mobilephone']}'" money = float(self.mysql.find_one(sql)[0]) case.data = case.data.replace("*amount*", str(money + 1000)) # 未登录时取现/充值,没有返回码 if case.expected_code: expected_code = str(case.expected_code) else: expected_code = None # 数据库校验 if case.check_sql: case.check_sql = sub_conf(case.check_sql) old_money = float(self.mysql.find_one(case.check_sql)[0])
def test_add(self, case): log.info(f"验证接口:{case.interface},接口url:{case.url}") # 第一步:准备用例数据 # 替换配置文件中的固定参数 case.data = sub_conf(case.data) # 替换动态生成的参数 if "*phone*" in case.data: # 注册时,手机号码为动态注册的号码 phone = random_phone() case.data = case.data.replace("*phone*", phone) if "*memberId*" in case.data: # 想要用户id不存在,先找到最大用户id,加1即可 member_id = self.mysql.find_one( "select max(id) as memberId from member")[0] case.data = case.data.replace("*memberId*", str(member_id + 1)) # 未登录时新增项目,没有返回码 if case.expected_code: case.expected_code = str(case.expected_code)
def test_audit(self, case): log.info(f"验证接口:{case.interface},接口url:{case.url}") # 第一步:准备用例数据 # 替换配置文件中的固定参数 case.data = sub_conf(case.data) # 替换动态生成的参数 if "*phone*" in case.data: # 注册时,手机号码为动态注册的号码 phone = random_phone() case.data = case.data.replace("*phone*", phone) if "*loanId*" in case.data: # 想要项目id不存在,先找到最大项目id,加1即可 loan_id = self.mysql.find_one( "select max(id) as loanId from loan")[0] case.data = case.data.replace("*loanId*", str(loan_id + 1)) # 未登录时审核,没有返回码 if case.expected_code: case.expected_code = str(case.expected_code)
def test_getList(self, case): log.info(f"验证接口:{case.interface},接口url:{case.url}") # 第一步:准备测试数据,替换动态参数 # 替换配置文件中的固定参数 case.data = sub_conf(case.data) # 替换动态生成的参数 if "*phone*" in case.data: # 注册时,手机号码为动态注册的号码 phone = random_phone() case.data = case.data.replace("*phone*", phone) if "*memberId*" in case.data: # 想要用户id不存在,先找到最大用户id,加1即可 member_id = self.mysql.find_one("select max(id) from member")[0] case.data = case.data.replace("*memberId*", str(member_id + 100)) if "*loanId*" in case.data: # 想要项目id不存在,先找到最大项目id,加1即可 loan_id = self.mysql.find_one("select max(id) from loan")[0] case.data = case.data.replace("*loanId*", str(loan_id + 100)) if case.check_sql: # 生成回款计划前查找数据条数 case.check_sql = sub_conf(case.check_sql) old_conut = self.mysql.find_count(case.check_sql)