コード例 #1
0
class TestRegister(unittest.TestCase):
    "注册类用例"

    @classmethod
    def setUpClass(cls):
        logger.info('========  start ============》开始执行{}类下的用例'.format(
            cls.__name__))
        cls.count = 0

    @classmethod
    def tearDownClass(cls):
        logger.info('========  END ============》{}类下的用例已经全部执行完成'.format(
            cls.__name__))

    def setUp(self):
        logger.info(">" * 50)
        self.__class__.count += 1
        logger.info("开始第>》》》   {}    《《《<条执行用例".format(self.__class__.count))
        self.t = ReadExcel(load_data_path, sheet_name)

    def tearDown(self):
        logger.info("第>》》》   {}    《《《<条执行用例执行完成".format(self.__class__.count))
        logger.info("<" * 50)
        self.t.close_excel()

    @data(*datas)
    def test_register(self, case):
        '注册用咧'
        # 对excel中已经参数化的内容进行替换
        if case["param"] is not None and isinstance(case["param"], str):
            if re.search(r'#(.*?)#', case['param']):
                case['param'] = re_replace(case['param'], case["obj"])
コード例 #2
0
ファイル: test_invest.py プロジェクト: wangxiaojiani/QCT-GIT
class TestInvest(unittest.TestCase):
    '投资类用例'

    @classmethod
    def setUpClass(cls):
        logger.info('========  start ============》开始执行{}类下的用例'.format(
            cls.__name__))
        clear_Envdata_attr()
        cls.count = 0

    @classmethod
    def tearDownClass(cls):
        logger.info('========  END ============》{}类下的用例已经全部执行完成'.format(
            cls.__name__))

    def setUp(self):
        logger.info(">" * 50)
        self.__class__.count += 1
        logger.info("开始第>》》》   {}    《《《<条执行用例".format(self.__class__.count))
        self.t = ReadExcel(load_data_path, sheet_name)

    def tearDown(self):
        logger.info("第>》》》   {}    《《《<条执行用例执行完成".format(self.__class__.count))
        logger.info("<" * 50)
        self.t.close_excel()

    @data(*datas)
    def test_invest(self, case):
        person_symbol = None
        test_result = None
        expect_result = None

        if case['check_sql'] is not None and isinstance(
                case['check_sql'], str):
            if re.search('#(.*?)#', case['check_sql']):
                case['check_sql'] = re_replace(case['check_sql'])

                # 获取用户身份 是管理员还是普通用户以及id
                person_symbol = db.select_one_data(
                    eval(case['check_sql'])['sql_01'])['type']
                max_count = db.select_one_data(
                    eval(case['check_sql'])['sql_01'])['leave_amount']
                max_count = round(
                    float(Decimal(max_count).quantize(Decimal('0.00'))))
                setattr(EnvData, "max_count", max_count)

                # 获取投资成功前financelog中用户的记录行数
                if len(eval(case['check_sql'])) > 1:  #
                    pre_line = db.get_count(eval(case['check_sql'])['sql_02'])
コード例 #3
0
ファイル: test_loan.py プロジェクト: wangxiaojiani/QCT-GIT
class TestLoan(unittest.TestCase):
    '加标类测试'

    @classmethod
    def setUpClass(cls):
        logger.info(
            "------------>开始执行{} 类下的测试用例集     <-----------------".format(
                cls.__name__))
        cls.count = 0
        clear_Envdata_attr()  # 清理环境类中的类属性

    @classmethod
    def tearDownClass(cls):
        logger.info(
            "------------>结束执行{} 类下的测试用例集     <-----------------".format(
                cls.__name__))

    def setUp(self):
        self.__class__.count += 1
        logger.info("---------->开始执行第{}条测试用例-----------------".format(
            self.__class__.count))
        self.t = ReadExcel(load_data_path, sheet_name)

    def tearDown(self):
        self.t.close_excel()
        logger.info("---------->结束执行第{}条测试用例-----------------".format(
            self.__class__.count))

    @data(*datas)
    def test_loan(self, case):
        test_result = None
        # 前置sql

        if case['check_sql'] is not None and isinstance(
                case['check_sql'], str):
            if re.search(r"(.*?)", case['check_sql']):
                case['check_sql'] = re_replace(case['check_sql'])
                logger.info('打印出sql-=============》{}'.format(
                    eval(case['check_sql'])['sql_01']))
                loan_id = db.select_one_data(
                    eval(case['check_sql'])['sql_01'])['id']
                logger.info("{}".format(loan_id))

                expect_line = db.get_count(eval(case['check_sql'])['sql_02'])

                setattr(EnvData, "loan_id", loan_id)
コード例 #4
0
class TestRecharge(unittest.TestCase):
    "充值类用例"

    @classmethod
    def setUpClass(cls):
        logger.info('========  start ============》开始执行{}类下的用例'.format(cls.__name__))
        clear_Envdata_attr() # 清除上个脚本设置的动态属性
        cls.count = 0
        user,pwd = get_old_phone()
        res = MyRequest('POST','/futureloan/member/login',{"mobile_phone":user,"pwd":pwd}).send_requests()
        cls.user_id = jsonpath.jsonpath(res.json(),'$..id')[0]
        setattr(EnvData,'user_id',cls.user_id)
        cls.token = jsonpath.jsonpath(res.json(),'$..token')[0]

    @classmethod
    def tearDownClass(cls):
        logger.info('========  END ============》{}类下的用例已经全部执行完成'.format(cls.__name__))

    def setUp(self):
        logger.info(">" * 50)
        self.__class__.count += 1
        logger.info("开始第>》》》   {}    《《《<条执行用例".format(self.__class__.count))
        self.t = ReadExcel (load_data_path, sheet_name)

    def tearDown(self):
        logger.info ("第>》》》   {}    《《《<条执行用例执行完成".format(self.__class__.count))
        logger.info ("<" * 50)
        self.t.close_excel()

    @data(*datas)
    def test_recharge(self,case):
        '充值用咧'
        # 对excel中已经参数化的内容进行替换
        if case["param"] is not None and isinstance (case["param"], str):
            if re.search (r'#(.*?)#', case['param']):
                case['param'] = re_replace (case['param'], case["obj"])
コード例 #5
0
ファイル: test_invest.py プロジェクト: wangxiaojiani/QCT-GIT
 def setUp(self):
     logger.info(">" * 50)
     self.__class__.count += 1
     logger.info("开始第>》》》   {}    《《《<条执行用例".format(self.__class__.count))
     self.t = ReadExcel(load_data_path, sheet_name)
コード例 #6
0
ファイル: test_invest.py プロジェクト: wangxiaojiani/QCT-GIT
import unittest
from ddt import ddt, data
from d2020_07_01.common.myconfig import cnf
from d2020_07_01.common.mylog import logger
from d2020_07_01.common.EnvData import *
from d2020_07_01.common.read_excel import ReadExcel
from d2020_07_01.common.load_path import load_data_path
from d2020_07_01.common.handle_phone import *
from d2020_07_01.common.handle_request import MyRequest
import json
from d2020_07_01.common.handle_db import HandleDb
from decimal import *

sheet_name = cnf.read_section_to_dict("EXCEL")['invest']
datas = ReadExcel(load_data_path, sheet_name).load_data()
db = HandleDb()


@ddt
class TestInvest(unittest.TestCase):
    '投资类用例'

    @classmethod
    def setUpClass(cls):
        logger.info('========  start ============》开始执行{}类下的用例'.format(
            cls.__name__))
        clear_Envdata_attr()
        cls.count = 0

    @classmethod
コード例 #7
0
class TestWithDraw(unittest.TestCase):
    '提现类测试用例'

    @classmethod
    def setUpClass(cls):
        logger.info('========  start ============》开始执行{}类下的用例'.format(
            cls.__name__))
        clear_Envdata_attr()
        cls.count = 0
        user, pwd = get_old_phone()
        res = MyRequest('POST', '/futureloan/member/login', {
            "mobile_phone": user,
            'pwd': pwd
        }).send_requests()
        cls.user_id = jsonpath.jsonpath(res.json(), '$..id')[0]
        cls.token = jsonpath.jsonpath(res.json(), '$..token')[0]
        setattr(EnvData, 'user_id', cls.user_id)
        # 初始化余额
        db.update_data(
            'UPDATE member SET leave_amount=9898.96 WHERE id={}'.format(
                cls.user_id))

    @classmethod
    def tearDownClass(cls):
        logger.info('========  END ============》{}类下的用例已经全部执行完成'.format(
            cls.__name__))
        db.db_close()

    def setUp(self):
        logger.info(">" * 50)
        self.__class__.count += 1
        logger.info("开始第>》》》   {}    《《《<条执行用例".format(self.__class__.count))
        self.t = ReadExcel(load_data_path, sheet_name)

    def tearDown(self):
        logger.info("第>》》》   {}    《《《<条执行用例执行完成".format(self.__class__.count))
        logger.info("<" * 50)
        self.t.close_excel()

    @data(*datas)
    def test_withdraw(self, case):
        '提现用例'

        if case['check_sql'] is not None and isinstance(
                case['check_sql'], str):
            if re.search("#(.*?)#", case['check_sql']):
                case['check_sql'] = re_replace(case['check_sql'], case['obj'])
                logger.info('第{}条用例执行的sql语句是{}'.format(self.__class__.count,
                                                       case['check_sql']))

                # 提现前的帐户余额
                pre_withdraw_amount = db.select_one_data(
                    eval(case['check_sql'])['sql_01'])
                pre_withdraw_amount = str(
                    Decimal(pre_withdraw_amount['leave_amount']).quantize(
                        Decimal('0.00')))

                # 提现金额
                withdraw_amount = eval(case['param'])['amount']
                logger.info(withdraw_amount)

                if case['id'] == 5:
                    withdraw_amount = round(
                        float(pre_withdraw_amount) + 1000.23, 2)
                    setattr(EnvData, 'max_amount', withdraw_amount)

                # 期望金额
                expect_amount = round(
                    (float(pre_withdraw_amount) * 100 - withdraw_amount * 100)
                    / 100, 2)
                setattr(EnvData, 'expect_amount', expect_amount)
コード例 #8
0
ファイル: test_loan.py プロジェクト: wangxiaojiani/QCT-GIT
 def setUp(self):
     self.__class__.count += 1
     logger.info("---------->开始执行第{}条测试用例-----------------".format(
         self.__class__.count))
     self.t = ReadExcel(load_data_path, sheet_name)