def test_login(self, case): url = Yaml.read_yaml('headers', 'url') + case.interface data = Parametric().parametric(case.data) data = self.session.convert_data(data) if case.select_sql: user_info = self.mysql.run_sql(case.select_sql, data['mobile_phone']) setattr(Parametric, 'login_amount', user_info[0]['leave_amount']) response = self.session.send_requests(url, case.method, data) expect = Parametric().parametric(case.expect) expect = self.session.convert_data(expect) try: self.assertEquals(response['code'], expect['code']) if case.select_sql: self.assertEquals(response['data']['id'], expect['id']) self.assertEquals(response['data']['reg_name'], expect['reg_name']) self.assertEquals(response['data']['mobile_phone'], expect['mobile_phone']) self.assertEquals(response['data']['type'], expect['type']) self.assertEquals(response['data']['leave_amount'], expect['leave_amount']) except AssertionError as e: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), str(e)) raise e else: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), '通过')
def test_recharge(self, case): url = Yaml.read_yaml('headers', 'url') + case.interface data = Parametric().parametric(case.data) data = self.session.convert_data(data) expect = Parametric().parametric(case.expect) expect = self.session.convert_data(expect) old_amount = None if case.select_sql: user_info = self.mysql.run_sql(case.select_sql, expect['id']) old_amount = float(user_info[0]['leave_amount']) old_amount = round(old_amount, 2) response = self.session.send_requests(url, case.method, data) try: self.assertEquals(response['code'], expect['code']) if case.select_sql: self.assertEquals(response['data']['id'], expect['id']) self.assertEquals(response['data']['reg_name'], expect['reg_name']) self.assertEquals(response['data']['mobile_phone'], expect['mobile_phone']) self.assertEquals(response['data']['type'], expect['type']) user_info = self.mysql.run_sql(case.select_sql, expect['id']) new_amount = float(user_info[0]['leave_amount']) new_amount = round(new_amount, 2) self.assertEquals(response['data']['leave_amount'], new_amount) self.assertEquals(expect['amount'], round((new_amount - old_amount), 2)) except AssertionError as e: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), str(e)) raise e else: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), '通过') if 'token_info' in str(response): token = {} token['Authorization'] = 'Bearer ' + response['data']['token_info']['token'] self.session.add_headers(token)
def __init__(self): self.sql = pymysql.connect(host=Yaml.read_yaml('mysql', 'host'), user=Yaml.read_yaml('mysql', 'user'), password=Yaml.read_yaml('mysql', 'pwd'), port=Yaml.read_yaml('mysql', 'port'), db=Yaml.read_yaml('mysql', 'db'), charset='utf8', cursorclass=pymysql.cursors.DictCursor) self.mysql = self.sql.cursor()
def test_lan_add(self, case): url = Yaml.read_yaml('headers', 'url') + case.interface data = Parametric().parametric(case.data) data = self.session.convert_data(data) expect = Parametric().parametric(case.expect) expect = self.session.convert_data(expect) response = self.session.send_requests(url, case.method, data) try: self.assertEquals(response['code'], expect['code']) if case.select_sql: user_info = self.mysql.run_sql(case.select_sql, expect['member_id']) self.assertEquals(response['data']['member_id'], expect['member_id']) self.assertEquals(response['data']['title'], expect['title']) self.assertEquals(response['data']['loan_rate'], expect['loan_rate']) self.assertEquals(response['data']['loan_term'], expect['loan_term']) self.assertEquals(response['data']['loan_date_type'], expect['loan_date_type']) self.assertEquals(response['data']['bidding_days'], expect['bidding_days']) self.assertEquals(response['data']['amount'], expect['amount']) self.assertEquals(response['data']['title'], user_info['title']) self.assertEquals(response['data']['loan_rate'], user_info['loan_rate']) self.assertEquals(response['data']['loan_term'], user_info['loan_term']) self.assertEquals(response['data']['loan_date_type'], user_info['loan_date_type']) self.assertEquals(response['data']['bidding_days'], user_info['bidding_days']) self.assertEquals(response['data']['amount'], user_info['amount']) self.assertEquals(response['data']['id'], user_info['id']) except AssertionError as e: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), str(e)) raise e else: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), '通过') if 'token_info' in str(response): token = {} token['Authorization'] = 'Bearer ' + response['data'][ 'token_info']['token'] self.session.add_headers(token)
def test_invest(self, case): url = Yaml.read_yaml('headers', 'url') + case.interface data = Parametric().parametric(case.data) data = self.session.convert_data(data) expect = Parametric().parametric(case.expect) expect = self.session.convert_data(expect) response = self.session.send_requests(url, case.method, data) try: self.assertEquals(response['code'], expect['code']) if case.select_sql: sql = Parametric().parametric(case.select_sql) user_info = self.mysql.run_sql(sql) if case.case_id < 7: if hasattr(Parametric, 'item_id1') is False: setattr(Parametric, 'item_id1', str(user_info[0]['id'])) elif hasattr(Parametric, 'item_id2') is False: setattr(Parametric, 'item_id2', str(user_info[0]['id'])) elif hasattr(Parametric, 'item_id3') is False: setattr(Parametric, 'item_id3', str(user_info[0]['id'])) else: amount = float(user_info[0]['amount']) amount = round(amount, 2) self.assertEquals(response['data']['member_id'], user_info[0]['member_id']) self.assertEquals(response['data']['loan_id'], user_info[0]['loan_id']) self.assertEquals(response['data']['is_valid'], user_info[0]['is_valid']) self.assertEquals(response['data']['amount'], amount) self.assertEquals(expect['amount'], amount) self.assertEquals(response['data']['member_id'], expect['member_id']) self.assertEquals(response['data']['loan_id'], int(expect['loan_id'])) self.assertEquals(response['data']['amount'], expect['amount']) self.assertEquals(response['data']['is_valid'], expect['is_valid']) except AssertionError as e: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), str(e)) raise e else: self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm'), str(response)) self.data_xlsx.write_xlsx(case.case_id, Yaml.read_yaml('xlsx', 'clunm1'), '通过') if 'token_info' in str(response): token = {} token['Authorization'] = 'Bearer ' + response['data']['token_info']['token'] self.session.add_headers(token)
def send_requests(self, url, method='post', data=None, Json=True, **kwargs): data = self.convert_data(data) head = Yaml.read_yaml('headers', 'header')['X-Lemonban-Media-Type'] if hasattr(self, 'token') and head == 'lemonban.v3': sig = HandleSign().generate_sign(self.token) data.update(sig) method = method.lower() if method == 'get': response = self.session.request(method, url, params=data, **kwargs) elif method in ('post', 'patch', 'delete'): if Json: response = self.session.request(method, url, json=data, **kwargs) else: response = self.session.request(method, url, data=data, **kwargs) else: response = '不支持此请求方法' return response.json()
def setUpClass(cls): cls.session = Send_requests() cls.mysql = Mysql() cls.session.add_headers(Yaml.read_yaml('headers', 'header'))