Esempio n. 1
0
    def test_add(self, add):
        print("测试的用例是:{}".format(add['description']))
        login_data = Parameter.add_parameter(login_success[0]['param'])
        self.session_request.request(login_success[0]['method'], login_success[0]['url'],
                                     eval(login_data))

        add_param = eval(Parameter.add_parameter(add['param']))
        print("测试的数据是:{}".format(add_param))

        res = self.session_request.request(add['method'], add['url'], data=add_param)

        test_result = None
        write_res = DoExcel(project_path.CASE_FILE_PATH, 'add')

        try:
            # self.assertEqual(str(res.json()['code']), str(add['except_code']))
            self.assertIn(str(add['except_code']), res.text)
            my_logger.info(res.text)
            test_result = succeed
        except AssertionError as e:
            my_logger.error(e)
            test_result = failed
            raise e
        finally:
            print("测试结果是:", res.text)
            write_res.write_result(add['id'] + 1, res.json()['code'], test_result)
Esempio n. 2
0
    def test_register(self, register):
        print("测试的用例是:{}".format(register['description']))

        param = Parameter.register_parameter(register['param'])

        print("测试的数据是:{}".format(param))

        res = self.request.http_request(register['url'],
                                        register['method'],
                                        datas=param)
        test_result = None

        write_res = DoExcel(project_path.CASE_FILE_PATH, 'register')

        try:
            # self.assertEqual(str(res.json()['code']), str(register['except_code']))
            self.assertIn(str(register['except_code']), res.text)
            my_logger.info(res.text)
            test_result = succeed
        except AssertionError as e:
            my_logger.error(e)
            test_result = failed
            raise e
        finally:
            print("测试结果是:", res.text)
            write_res.write_result(register['id'] + 1,
                                   res.json()['code'], test_result)
Esempio n. 3
0
    def test_recharge(self, recharge):
        # 在测试报告中显示测试用例名称
        print("测试的用例是:{}".format(recharge['description']))
        login_data = eval(
            Parameter.recharge_parameter(login_success[0]['param']))
        self.session_request.request(login_success[0]['method'],
                                     login_success[0]['url'], login_data)

        param = eval(Parameter.recharge_parameter(recharge['param']))
        print("测试的数据是:{}".format(param))

        # 查询数据库余额数据进行数据校验
        seek_sql = recharge['seek_sql']

        if seek_sql:
            seek_sql = Parameter.recharge_parameter(seek_sql)
            before_seek_res = self.check_sql.run_sql(seek_sql, site=1)
            # seek_res = json.loads(seek_res)
            # 将返回数据进行数据转换,数据库查询出数据为decimal.Decimal类型,并保留两位小数
            before_amount = round(float(before_seek_res['LeaveAmount']), 2)

        # 调用充值接口
        res = self.session_request.request(recharge['method'],
                                           recharge['url'],
                                           data=param)

        test_result = None
        write_res = DoExcel(project_path.CASE_FILE_PATH, 'recharge')

        try:
            # self.assertEqual(str(res.json()['code']), str(recharge['except_code']))
            self.assertIn(str(recharge['except_code']), res.text)
            if seek_sql:
                # 前一个sql已经完成参数化
                # seek_sql = Parameter.recharge_parameter(seek_sql)
                after_seek_res = self.check_sql.run_sql(seek_sql, site=1)
                after_amount = round(float(after_seek_res['LeaveAmount']), 2)

                # 判断充值前后账户金额的变化是否正确
                self.assertEqual(after_amount, before_amount + param['amount'])

            my_logger.info(res.text)
            test_result = succeed
        except AssertionError as e:
            my_logger.error(e)
            test_result = failed
            raise e
        finally:
            print("测试结果是:", res.text)
            write_res.write_result(recharge['id'] + 1,
                                   res.json()['code'], test_result)
Esempio n. 4
0
    def test_bidloan(self, bidloan):
        print("测试的用例是:{}".format(bidloan['description']))

        # login_data = eval(Parameter.lodn_parameter(login_success[0]['param']))
        # self.session_request.request(login_success[0]['method'], login_success[0]['url'],
        #                              login_data)

        loan_param = eval(Parameter.loan_parameter(bidloan['param']))
        # self.session_request.request(bidloan['method'], bidloan['url'],bidloan)

        print("测试的数据是:{}".format(loan_param))
        res = self.session_request.request(bidloan['method'], bidloan['url'], loan_param)

        # 获取成功加标的id
        if "加标成功" in res.text:
            check_sql = bidloan['seek_sql']
            if check_sql:
                check_sql = Parameter.loan_parameter(check_sql)
                check_data = self.do_mysql.run_sql(check_sql, site=1)
                loan_id = check_data['Id']  # 取出加标ID
                print(loan_id)
                # 动态创建属性
                setattr(Parameter, "loan_id", loan_id)

        test_result = None
        write_res = DoExcel(project_path.CASE_FILE_PATH, 'bidLoan')

        try:
            # self.assertEqual(str(res.json()['code']), str(bidloan['except_code']))
            self.assertIn(str(bidloan['except_code']), res.text)
            my_logger.info(res.text)
            test_result = succeed
        except AssertionError as e:
            my_logger.error(e)
            test_result = failed
            raise e
        finally:
            print("测试结果是:", res.text)
            write_res.write_result(bidloan['id'] + 1, res.json()['code'], test_result)
Esempio n. 5
0
#!/usr/bin/env.python
# -*- coding: utf-8 -*-
# __author__ = yangyd
# Create time: 2019/7/15 23:47

import re

from common_code.operate_excel import DoExcel
from common_code.project_path import CASE_FILE_PATH

data_str = DoExcel(CASE_FILE_PATH, 'register').read_excel(2, end_row=2)
print(data_str[0])

math_res = re.match(r"{'id", str(data_str[0]))
print(math_res.group())

sea_res = re.search(r'\${unreg_phone}', str(data_str[0]))
print(sea_res.group())

sub_res = re.sub(r'\${unreg_phone}', '13333333333', str(data_str[0]))
print(sub_res)
Esempio n. 6
0
#!/user/bin/env python
# -*- coding: utf-8 -*-
# __author__ = yangyd 
# Create time: 2019/7/16 0016 15:09


import unittest
from libs.ddt import ddt, data
from common_code.operate_http_requests import HttpRequest
from common_code import project_path
from common_code.operate_config import DoConfig
from common_code.operate_log import my_logger
from common_code.operate_excel import DoExcel
from common_code.parameterization import Parameter

add_data = DoExcel(project_path.CASE_FILE_PATH, 'add').read_excel(2)

login_success = DoExcel(project_path.CASE_FILE_PATH, 'loginsuccess').read_excel(3, end_row=3)

succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'succeed')
failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'failed')


@ddt
class TestAdd(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.request = HttpRequest()
        cls.session_request = cls.request.request_session
Esempio n. 7
0
# -*- coding: utf-8 -*-
# __author__ = yangyd
# Create time: 2019/7/16 0016 15:09

import unittest

from libs.ddt import ddt, data
from common_code.operate_http_requests import HttpRequest
from common_code import project_path
from common_code.operate_config import DoConfig
from common_code.operate_log import my_logger
from common_code.operate_excel import DoExcel
from common_code.parameterization import Parameter
from common_code.operate_mysql import OperateMysql

recharge_data = DoExcel(project_path.CASE_FILE_PATH, 'recharge').read_excel(2)
login_success = DoExcel(project_path.CASE_FILE_PATH,
                        'loginsuccess').read_excel(2, end_row=2)

succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info(
    'test_result', 'succeed')
failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info(
    'test_result', 'failed')


@ddt
class TestRecharge(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.request = HttpRequest()
        cls.session_request = cls.request.request_session
Esempio n. 8
0
#!/user/bin/env python
# -*- coding: utf-8 -*-
# __author__ = yangyd
# Create time: 2019/7/16 0016 15:08

import unittest
from libs.ddt import ddt, data
from common_code.operate_http_requests import HttpRequest
from common_code import project_path
from common_code.operate_config import DoConfig
from common_code.operate_log import my_logger
from common_code.operate_excel import DoExcel
from common_code.parameterization import Parameter

login_data = DoExcel(project_path.CASE_FILE_PATH, 'login').read_excel(2)

succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info(
    'test_result', 'succeed')
failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info(
    'test_result', 'failed')


@ddt
class TestLogin(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.request = HttpRequest()
        cls.session_request = cls.request.request_session

    @data(*login_data)
    def test_login(self, login):
Esempio n. 9
0
        # 替换投资人ID
        loan_data = re.sub(cls.loan_pattern, loan_memberid, loan_data)
        # 替换投资人帐号
        loan_data = re.sub(cls.recharge_pattern, loan_phone, loan_data)
        # 替换管理员帐号
        loan_data = re.sub(cls.admin_user_pattern, admin_phone, loan_data)
        # 替换借款人ID
        loan_data = re.sub(cls.borrow_id_pattern, borrow_id, loan_data)
        # 获取属性并参数化标ID
        if re.search(cls.loan_id_pattern, loan_data):
            loan_id = str(getattr(cls, "loan_id"))
            loan_data = re.sub(cls.loan_id_pattern, loan_id, loan_data)
        return loan_data


if __name__ == '__main__':
    from common_code.operate_excel import DoExcel
    from common_code.project_path import CASE_FILE_PATH

    data_str = DoExcel(CASE_FILE_PATH, 'register').read_excel(2)
    data_str1 = DoExcel(CASE_FILE_PATH, 'add').read_excel(2)
    data_str2 = DoExcel(CASE_FILE_PATH, 'bidLoan').read_excel(2)
    data_str3 = DoExcel(CASE_FILE_PATH, 'recharge').read_excel(2)
    data_str4 = DoExcel(CASE_FILE_PATH, 'login').read_excel(2)

    print(Parameter.register_parameter(str(data_str[0])))
    print(Parameter.register_parameter(str(data_str[4])))
    print(Parameter.add_parameter(str(data_str1[0])))
    print(Parameter.loan_parameter(str(data_str2)))
    print(Parameter.recharge_parameter(str(data_str3)))
Esempio n. 10
0
#!/user/bin/env python
# -*- coding: utf-8 -*-
# __author__ = yangyd
# Create time: 2019/7/8 0008 14:34

import unittest
from libs.ddt import ddt, data
from common_code.operate_http_requests import HttpRequest
from common_code import project_path
from common_code.operate_config import DoConfig
from common_code.operate_log import my_logger
from common_code.operate_excel import DoExcel
from common_code.parameterization import Parameter

register_data = DoExcel(project_path.CASE_FILE_PATH, 'register').read_excel(2)

login_success = DoExcel(project_path.CASE_FILE_PATH,
                        'loginsuccess').read_excel(2)

succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info(
    'test_result', 'succeed')
failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info(
    'test_result', 'failed')


@ddt
class TestRegister(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.request = HttpRequest()
        cls.session_request = cls.request.request_session
Esempio n. 11
0
# -*- coding: utf-8 -*-
# __author__ = yangyd 
# Create time: 2019/7/16 0016 15:09


import unittest
from libs.ddt import ddt, data
from common_code.operate_http_requests import HttpRequest
from common_code import project_path
from common_code.operate_config import DoConfig
from common_code.operate_log import my_logger
from common_code.operate_excel import DoExcel
from common_code.parameterization import Parameter
from common_code.operate_mysql import OperateMysql

bidloan_data = DoExcel(project_path.CASE_FILE_PATH, 'bidLoan').read_excel(2)

# login_success = DoExcel(project_path.CASE_FILE_PATH, 'loginsuccess').read_excel(4, end_row=4)

succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'succeed')
failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'failed')


@ddt
class TestBidlodn(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.request = HttpRequest()
        cls.session_request = cls.request.request_session
        cls.do_mysql = OperateMysql()