예제 #1
0
class LoginTest(unittest.TestCase):
    excel = do_excel.DoExcel(constants.case_file, 'login')
    cases = excel.get_cases()  #列表里面放cases实例

    @classmethod  #类方法每个类只执行一次
    def setUpClass(cls):  #初始化    类方法
        logger.info('准备测试前置')
        cls.http_request = HttpRequest2()

    @data(*cases)  #传进来的数据时case的实例  列表里多组数据传进来
    def test_login(self, case):
        logger.info('开始测试:{0}'.format(case.title))
        resp = self.http_request.request(case.method, case.url, case.data)
        try:
            self.assertEqual(case.expected, resp.text)
            self.excel.write_result(case.case_id + 1, resp.text, 'PASS')
        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text, 'FAILE')
            logger.error('报错了,{}'.format(e))
            raise e
        logger.info('结束测试:{0}'.format(case.title))

    @classmethod
    def tearDownClass(cls):
        cls.http_request.close()
        logger.info('测试后置处理')
예제 #2
0
class AddTest(unittest.TestCase):
    excel = do_excel.DoExcel(constants.case_file, 'invest')
    cases = excel.get_cases()  #列表里面放case实例

    @classmethod  #类方法每个类只执行一次
    def setUpClass(cls):  #初始化    类方法
        cls.http_request = HttpRequest2()  #保持一个session
        cls.mysql = do_mysql.DoMysql()

    @data(*cases)  #传进来的数据时case的实例  列表里多组数据传进来
    def test_invests(self, case):
        print(case.title)

        #请求之前替换参数化的值
        case.data = context.replace(case.data)
        resp = self.http_request.request(case.method, case.url, case.data)
        try:
            self.assertEqual(str(case.expected), resp.json()['code'])
            self.excel.write_result(case.case_id + 1, resp.text, 'PASS')

            #判断加标成功之后 查询数据库 取到loan_id
            if resp.json()['msg'] == '加标成功':
                sql = 'select id from future.loan where memberid = 1290 order by id desc limit 1'
                loan_id = self.mysql.fetch_one(sql)[0]  #返回元组数据类型
                print('加标之后的ID', loan_id)
                #保存到类属性里面
                setattr(Context, 'loan_id', str(loan_id))

        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text, 'FAILE')
            raise e

    @classmethod
    def tearDownClass(cls):
        cls.http_request.close()
예제 #3
0
class AddTest(unittest.TestCase):
    excel = do_excel.DoExcel(constants.case_file,'add')
    cases = excel.get_cases()   #列表里面放case实例

    @classmethod   #类方法每个类只执行一次
    def setUpClass(cls):   #初始化    类方法
        cls.http_request = HttpRequest2()   #保持一个session

    @data(*cases)   #传进来的数据时case的实例  列表里多组数据传进来
    def test_add(self,case):
        # case.data = eval(case.data) #变成字典
        # print(type(case.data))
        # if case.data.__contains__('mobilephone') and case.data['mobilephone'] == 'normal_user':
        #     case.data['mobilephone'] = config.get('data', 'normal_user')  # 拿到配置文件里面的值赋值给mobilephone
        #
        # if case.data.__contains__('pwd') and case.data['pwd'] == 'normal_pwd':
        #     case.data['pwd'] = config.get('data', 'normal_pwd')
        #
        # if case.data.__contains__('memberId') and case.data['memberId'] == 'loan_member_id':
        #     case.data['memberId'] = config.get('data', 'loan_member_id')

        #请求之前替换参数化的值
        case.data= context.replace(case.data)
        print(case.title)
        resp = self.http_request.request(case.method,case.url,case.data)
        try:
            self.assertEqual(str(case.expected),resp.json()['code'])
            self.excel.write_result(case.case_id+1,resp.text,'PASS')
        except AssertionError as e:
            self.excel.write_result(case.case_id+1,resp.text,'FAILE')
            raise e
예제 #4
0
class RegisterTest(unittest.TestCase):
    excel = do_excel.DoExcel(constants.case_file, 'register')
    cases = excel.get_cases()  #列表里面放cases实例

    @classmethod  #类方法每个类只执行一次
    def setUpClass(cls):  #初始化    类方法
        cls.http_request = HttpRequest2()
        cls.mysql = do_mysql.DoMysql()

    @data(*cases)  #传进来的数据时case的实例  列表里多组数据传进来
    def test_register(self, case):
        if case.data.find('register_mobile') > -1:  #判断参数化的标识
            sql = 'select max(mobilephone) from future.member'
            max_phone = self.mysql.fetch_one(sql)[0]  #查询最大手机号码
            #最大手机号码+1
            print('最大手机号码', max_phone)
            #replace方法是替换之后返回一个新的字符串,所以需要case.data重新接收
            case.data = case.data.replace('register_mobile', str(max_phone))

        print(case.title)
        resp = self.http_request.request(case.method, case.url, case.data)
        try:
            self.assertEqual(case.expected, resp.text)
            self.excel.write_result(case.case_id + 1, resp.text, 'PASS')
        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text, 'FAILE')
            raise e
예제 #5
0
class RechargeTest(unittest.TestCase):
    excel = do_excel.DoExcel(constants.case_file, 'recharge')  #读取充值表单
    cases = excel.get_cases()  #拿到case

    @classmethod
    def setUpClass(cls):
        cls.http_request = HttpRequest2()

    @data(*cases)
    def test_recharge(self, case):
        print(case.title)
        resp = self.http_request.request(case.method, case.url, case.data)
        actual_code = resp.json()['code']
        try:
            self.assertEqual(str(case.expected), actual_code)
            self.excel.write_result(case.case_id + 1, resp.text,
                                    "PASS")  #断言成功写入PASS
        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text,
                                    "FAIL")  #断言成功写入FAILE
        raise e
예제 #6
0
class LoginTest(unittest.TestCase):
    excel = do_excel.DoExcel(contants.case_file, 'login')
    cases = excel.get_cases()

    @classmethod
    def setUpClass(cls):
        cls.http_request = HTTPRequest2()

    @data(*cases)
    def test_login(self, case):
        resp = self.http_request.request(case.method, case.url, case.data)

        try:
            self.assertEqual(case.expected, resp.text)
            self.excel.write_result(case.case_id + 1, resp.text, 'PASS')
        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text, 'FAIL')
            raise e

    @classmethod
    def tearDownClass(cls):
        cls.http_request.close()
예제 #7
0
class LoginTest(unittest.TestCase):
    excel = do_excel.DoExcel(contants.case_file, 'TestLogin')
    cases = excel.get_case()

    @classmethod
    def setUpClass(cls):
        cls.http_request = HTTPRequest2()

    @data(*cases)  #data可以接收可迭代数据类型,列表,元组,字典
    def test_login(self, case):
        print(case.title)
        resp = self.http_request.request(case.method, case.url, case.data)

        try:
            self.assertEqual(case.expected, resp.text)
            self.excel.write_result(case.case_id + 1, resp.text, "pass")
        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text, "fail")
            raise e

    @classmethod
    def tearDownClass(cls):
        cls.http_request.close()
예제 #8
0
class RechargeTest(unittest.TestCase):
    excel = do_excel.DoExcel(contants.case_file, 'recharge')
    cases = excel.get_cases()

    @classmethod
    def setUpClass(cls):
        cls.http_request = HTTPRequest2()

    @data(*cases)
    def test_recharge(self, case):
        print(case.title)
        resp = self.http_request.request(case.method, case.url, case.data)
        actual_code = resp.json()['code']
        try:
            self.assertEqual(str(case.expected), actual_code)
            self.excel.write_result(case.case_id + 1, resp.text, 'PASS')
        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text, 'FAIL')
            raise e

    @classmethod
    def tearDownClass(cls):
        cls.http_request.close()
예제 #9
0
class RechargeTest(unittest.TestCase):
    excel = do_excel.DoExcel(contants.case_file, 'TestRecharge')
    cases = excel.get_case()

    @classmethod
    def setUpClass(cls):
        cls.http_request = HTTPRequest2()

    @data(*cases)  #data可以接收可迭代数据类型,列表,元组,字典
    def test_recharge(self, case):
        print(case.title)
        resp = self.http_request.request(case.method, case.url, case.data)
        actual_code = resp.json()['code']  #返回的是字典,然后找code,d[key]

        try:
            self.assertEqual(str(case.expected), actual_code)
            self.excel.write_result(case.case_id + 1, resp.text, "pass")
        except AssertionError as e:
            self.excel.write_result(case.case_id + 1, resp.text, "fail")
            raise e

    @classmethod
    def tearDownClass(cls):
        cls.http_request.close()