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)
Esempio n. 2
0
 def generate_phone(cls, reg_name, pwd='12345678', reg_type=1):
     hr = HandleRequest()
     hm = HandleMysql()
     phone = hm.get_no_exist_phone()
     header = hy.read_yaml('request', 'header')
     hr.common_head(header)
     data = {
         "mobile_phone": phone,
         "pwd": pwd,
         'type': reg_type,
         'reg_name': reg_name
     }
     value_result = hr.send(url=hy.read_yaml('register', 'url'), data=data)
     if value_result.json()['code'] == 0:
         result_phone = value_result.json()['data']['mobile_phone']
         user_id = value_result.json()['data']['id']
         person_result = {
             reg_name: {
                 "mobile_phone": result_phone,
                 'pwd': pwd,
                 "type": reg_type,
                 "id": user_id,
                 "reg_name": reg_name
             }
         }
     hr.close()
     hm.close()
     return person_result
Esempio n. 3
0
    def get_phone_nums(cls, username, password='******', type=1):
        hm = HandleMysql()
        hr = HandleRequests()
        url = hy.read_yaml('request', 'base_url') + hy.read_yaml(
            'request', 'register_url')
        phone = hm.no_exsit_phone_mysql()
        hr.common_heads({
            hy.read_yaml('request', 'request_head'):
            hy.read_yaml('request', 'request_value')
        })
        datas = {
            "mobile_phone": phone,
            "pwd": password,
            "type": type,
            "reg_name": username
        }
        res = hr.send(url=url, data=datas)

        if res.json()['code'] == 0:
            id = res.json()['data']['id']
            phone_data = {
                username: {
                    "mobile_phone": phone,
                    "pwd": password,
                    "type": type,
                    "id": id,
                    "reg_name": username
                }
            }
            hm.close()
            hr.close()
            return phone_data
Esempio n. 4
0
    def get_phone(cls, user, password="******", type_num=1):
        hr = HandleRequest()
        hm = HandleMysql()
        hr.common_head({'X-Lemonban-Media-Type': 'lemonban.v2'})
        base_url = hy.read_yaml('api', 'load')
        register_url = hy.read_yaml('api', 'register')
        all_url = ''.join((base_url, register_url))
        while True:
            # 获取在数据库中不存在的电话号码
            phone = hm.get_right_phone()
            data = {
                "mobile_phone": phone,
                "pwd": password,
                "type": type_num,
                "reg_name": user
            }
            result = hr.send(url=all_url, data=data)
            if result.json()['code'] == 0 and result.json()["msg"] == "OK":
                break

        my_result = hm.get_mysql_result(hy.read_yaml('mysql', 'user_id'),
                                        args=phone)
        user_id = my_result[0]['id']

        result_data = {
            user: {
                "user_phone": phone,
                "pwd": password,
                "user_id": user_id,
                "reg_name": user
            }
        }
        hm.close()
        hr.close()
        return result_data
Esempio n. 5
0
 def get_phone(cls, username, password='******', type=1):
     hr = HandleRequest()
     hm = HandleMysql()
     base_url = hy.read_yaml('api', 'load')
     register_url = hy.read_yaml('api', 'register')
     all_url = ''.join((base_url, register_url))
     while True:
         phone = hm.get_non_existent()
         data = {
             "mobile_phone": phone,
             "pwd": password,
             "type": type,
             "reg_name": username
         }
         hr.common_head(hy.read_yaml('api', 'header'))
         result = hr.send(url=all_url, data=data)
         if result.json()['code'] == 0 and result.json()['msg'] == 'OK':
             break
     user_id = hm.get_mysql_result(sql=hy.read_yaml('mysql', 'user_id'),
                                   args=phone)
     result_data = {
         username: {
             "mobilephone": phone,
             "pwd": password,
             "user_id": user_id[0]['id'],
             "reg_name": username
         }
     }
     hr.close()
     hm.close()
     return result_data
Esempio n. 6
0
def set_up():
    hr = HandleRequests()
    hm = HandleMysql()
    hl = HandleYaml(PHONE_PATH)
    hr.common_heads({hy.read_yaml('request', 'request_head'): hy.read_yaml('request', 'request_value')})
    yield hr, hm, hl
    hr.close()
    hm.close()
Esempio n. 7
0
 def __init__(self):
     self.conn = pymysql.connect(host=hy.read_yaml('mysql', 'host'),
                                 user=hy.read_yaml('mysql', 'user'),
                                 password=hy.read_yaml('mysql', 'password'),
                                 port=hy.read_yaml('mysql', 'port'),
                                 charset='utf8',
                                 db=hy.read_yaml('mysql', 'db'),
                                 cursorclass=pymysql.cursors.Cursor)
     self.cursor = self.conn.cursor()
Esempio n. 8
0
 def if_phone_exist(self, phone):
     result = self.get_mysql_result(hy.read_yaml('mysql', 'sql'),
                                    args=phone)
     if result:
         return True
     else:
         return False
Esempio n. 9
0
 def phone_exist_mysql(self, phone):
     sql = hy.read_yaml('mysql', 'phone_sql')
     result = self.get_mysql_result(sql=sql, args=phone)
     if result:
         return True
     else:
         return False
Esempio n. 10
0
 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)
Esempio n. 11
0
 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)
Esempio n. 12
0
def set_up():
    hr = HandleRequest()
    hm = HandleMysql()
    hr.common_head(hy.read_yaml('api', 'header'))
    yield hr, hm, hy, hl
    hr.close()
    hm.close()
Esempio n. 13
0
 def test_invest(self, set_up, case):
     url = hy.read_yaml('request', 'base_url') + case.url
     data = HandleRe.handle_para(case.data)
     res = set_up[0].send(url=url, data=data)
     if case.caseId == 2:
         invest_token = res.json()['data']['token_info']['token']
         set_up[0].common_heads({'Authorization': 'Bearer ' + invest_token})
Esempio n. 14
0
 def if_exsit_phone(self, phone):
     result = self.get_mysql_result(sql=hy.read_yaml('phone', 'phone_sql'),
                                    arg=phone)
     if result:
         return True
     else:
         return False
Esempio n. 15
0
 def get_non_existent(self):
     sql = hy.read_yaml('mysql', 'phone_sql')
     while True:
         phone = self.random_phone()
         bl = self.mysql_exist(sql=sql, args=phone)
         if not bl:
             break
     return phone
Esempio n. 16
0
def set_up():
    hr = HandleRequest()
    hm = HandleMysql()
    hl = HandleYaml(PERSONPHONE_PATH)
    hr.common_head(hy.read_yaml('request', 'header'))
    yield hr, hm, hl
    hr.close()
    hm.close()
Esempio n. 17
0
    def get_logger():
        logger = logging.getLogger('my_interface_test')
        logger.setLevel(hy.read_yaml("logger", 'level'))
        my_format = hy.read_yaml("logger", 'format')
        formatter = logging.Formatter(my_format)

        # 控制台输出
        sh = logging.StreamHandler()
        sh.setLevel(hy.read_yaml("logger", 'level'))
        sh.setFormatter(formatter)
        logger.addHandler(sh)

        # 文件中输出
        fh = logging.FileHandler(filename=LOG_FILE_PATH, encoding='utf-8')
        fh.setLevel(hy.read_yaml("logger", 'level'))
        fh.setFormatter(formatter)
        logger.addHandler(fh)

        return logger
Esempio n. 18
0
    def getlogger(self):
        mylogger = logging.getLogger(hy.read_yaml('log', 'logname'))
        my_format = hy.read_yaml('log', 'format')
        mylogger.setLevel(hy.read_yaml('log', 'level'))
        format_log = logging.Formatter(fmt=my_format)

        # 控制台输出
        sh = logging.StreamHandler()
        sh.setLevel(hy.read_yaml('log', 'level'))
        sh.setFormatter(format_log)
        mylogger.addHandler(sh)

        # 日志文件输出
        fh = logging.FileHandler(self.filepath)
        fh.setLevel(hy.read_yaml('log', 'level'))
        fh.setFormatter(format_log)
        mylogger.addHandler(fh)

        return mylogger
Esempio n. 19
0
 def generate_phone(cls):
     my_data = {}
     generate_phone_path = os.path.join(config_path,
                                        hy.read_yaml('api', 'phonePath'))
     my_yaml = HandleYaml(filepath=generate_phone_path)
     admin_result = cls.get_phone(username='******', type=0)
     my_data.update(admin_result)
     invest_result = cls.get_phone(username='******')
     my_data.update(invest_result)
     loan_result = cls.get_phone(username='******')
     my_data.update(loan_result)
     my_yaml.write_yaml(data=my_data, mode='w')
Esempio n. 20
0
 def test_recharge(self, set_up, case):
     url = hy.read_yaml('request', 'base_url') + case.url
     data = HandleRe.handle_para(case.data)
     invest_phone = set_up[2].read_yaml('investor', 'mobile_phone')
     before_send_amount = 0
     if case.sql:
         phone_result = set_up[1].get_mysql_result(case.sql,
                                                   arg=invest_phone)
         if phone_result['amount']:
             before_send_amount = float(phone_result['amount'])
     res = set_up[0].send(url=url, data=data)
     if case.caseId == 2:
         invest_token = res.json()['data']['token_info']['token']
         set_up[0].common_heads({'Authorization': 'Bearer ' + invest_token})
Esempio n. 21
0
 def test_register(self, set_up, case):
     url = hy.read_yaml('request', 'base_url') + case.url
     data = HandleRe.handle_para(case.data)
     res = set_up[0].send(url=url, data=data)
     try:
         assert [case.expected, case.msg] == [res.json()['code'], res.json()['msg']]
         self.obj_li.write_excel(int(case.caseId) + 1, 8, value=str(res.json()))
     except AssertionError as e:
         my_logger.error(f'用例{case.title}断言失败')
         self.obj_li.write_excel(int(case.caseId)+1,7, value='fail')
         raise e
     else:
         my_logger.info(f'用例{case.title}断言成功')
         self.obj_li.write_excel(int(case.caseId)+1,7, value='success')
Esempio n. 22
0
 def handle_para(cls, data):
     hl = HandleYaml(PHONE_PATH)
     hm = HandleMysql()
     if re.search(r'{no_exist_phone}', data):
         phone = hm.no_exsit_phone_mysql()
         re_data = re.sub(r'{no_exist_phone}', phone, data)
         HandleMysql().close()
         return re_data
     if re.search(r'{invest_phone}', data):
         re_data = re.sub(r'{invest_phone}',
                          hl.read_yaml('investor', 'mobile_phone'), data)
         return re_data
     if re.search(r'{user_id_re}', data):
         re_data = re.sub(r'{user_id_re}',
                          str(hl.read_yaml('investor', 'id')), data)
         return re_data
     if re.search(r'{member_id_re}', data):
         re_data = re.sub(r'{member_id_re}',
                          str(hl.read_yaml('borrower', 'id')), data)
         return re_data
     if re.search(r'{borrow_phone}', data):
         re_data = re.sub(r'{borrow_phone}',
                          hl.read_yaml('borrower', 'mobile_phone'), data)
         return re_data
     if re.search(r'{no_exist_num}', data):
         re_data = re.sub(
             r'{no_exist_num}',
             str(
                 hm.get_mysql_result(hy.read_yaml('mysql', 'id_sql'))
                 ['maxId'] + 1), data)
         return re_data
     if re.search(r'{admin_phone}', data):
         re_data = re.sub(r'{admin_phone}',
                          hl.read_yaml('admin', 'mobile_phone'), data)
         return re_data
     if re.search(r'{load_id}', data):
         re_data = re.sub(r'{load_id}', str(getattr(cls, 'program_id')),
                          data)
         return re_data
     if re.search(r'{user_id}', data):
         my_data = re.sub(r'{user_id}', str(hl.read_yaml('investor', 'id')),
                          data)
         re_data = re.sub(r'{loan_id_re}', str(getattr(cls, 'program_id')),
                          my_data)
         return re_data
     return data
Esempio n. 23
0
 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)
Esempio n. 24
0
 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)
Esempio n. 25
0
 def random_telephone():
     return hy.read_yaml('phone', 'pre') + ''.join(
         random.sample('0123456789', 8))
Esempio n. 26
0
 def test_login(self, set_up, case):
     url = hy.read_yaml('request', 'base_url') + case.url
     if case.caseId == 2:
         HandlePhone.phone_yaml()
Esempio n. 27
0
 def random_phone(cls):
     return hy.read_yaml('mysql', 'phone_pre') + str(''.join(random.sample('0123456789', 8)))
Esempio n. 28
0
        else:
            result = self.cursor.fetchone()
        return result

    # 判断随机生成的手机号是否在mysql中存在
    def if_exsit_phone(self, phone):
        result = self.get_mysql_result(sql=hy.read_yaml('phone', 'phone_sql'),
                                       arg=phone)
        if result:
            return True
        else:
            return False

    # 生成mysql中不存在的手机号
    def no_exsit_phone_mysql(self):
        while True:
            phone = self.random_telephone()
            if not self.if_exsit_phone(phone=phone):
                break
        return phone

    # 关闭mysql连接
    def close(self):
        self.cursor.close()
        self.connect.close()


if __name__ == '__main__':
    phone_sql = hy.read_yaml('phone', 'phone_sql')
    print(HandleMysql().get_mysql_result(phone_sql, '15816298405'))
Esempio n. 29
0
 def get_phone(self):
     return hy.read_yaml('mysql', 'pre_phone') + ''.join(
         random.sample('0123456789', 8))