예제 #1
0
class TestCases(unittest.TestCase):

    def setUp(self):#测试前的准备
        self.t = DoExcel(case_path, 'register')  #
    def tearDown(self):
        pass

    test_data = DoExcel(case_path, 'register').read_data('CaseRegister')

    @data(*test_data)
    def test_case(self,case):
        global TestResult
        # test_data = DoExcel(case_path, 'Sheet1').read_data()
        method = case['Method']  # 获取请求方法
        url = case['URL']  # 获取请求地址
        param = eval(case['Params'])  # 获取请求参数

        logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format(case['Module'], case['CaseId'], case['Title']))
        logger.info('测试数据是{}'.format(case))

        resp = HttpRequest().http_request(method, url, param,cookies=None)
        try:
            self.assertEqual(eval(case['ExpectedResult']),resp.json())
            TestResult='Pass'
        except AssertionError as e:
            logger.error('请求错误,错误是{}'.format(e))
            TestResult = 'Failed'
            raise e
        finally:
            #写回结果
            # t = DoExcel(case_path, 'Sheet1')
            self.t.write_back(case['CaseId'] + 1, 9, resp.text)
            self.t.write_back(case['CaseId'] + 1, 10, TestResult)

        logger.info('测试结果{}'.format(resp.json()))
예제 #2
0
 def setUp(self):  #测试前的准备
     self.t = DoExcel(case_path, 'recharge')  #
예제 #3
0
class TestCases(unittest.TestCase):
    def setUp(self):  #测试前的准备
        self.t = DoExcel(case_path, 'recharge')  #

    def tearDown(self):
        pass

    test_data = DoExcel(case_path, 'recharge').read_data('CaseRecharge')

    @data(*test_data)
    def test_case(self, case):
        global TestResult
        # global cookies  #定义全局变量
        # test_data = DoExcel(case_path, 'Sheet1').read_data()
        method = case['Method']  # 获取请求方法
        url = case['URL']  # 获取请求地址
        # param = eval(case['Params'])  # 获取请求参数
        param = eval(get_data.replace(case['Params']))
        # print(param)
        case['ExpectedResult'] = get_data.replace(case['ExpectedResult'])
        if case['SQL'] != None:
            sql = get_data.replace(case['SQL'])

        if case['CaseId'] == 1:
            query = eval(sql)['sql']  #获取sql语句
            id = DoMySql().do_mysql(query, 1)[0]
            setattr(GetData, 'id', str(id))
        logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format(
            case['Module'], case['CaseId'], case['Title']))
        logger.info('测试数据是{}'.format(case))

        if case['CaseId'] == 2:
            query = eval(sql)['sql']  #获取sql语句
            before_leaveamount = DoMySql().do_mysql(
                query, 1)[0]  #操作数据库 获取项目id值 获取的是个元组  取出元组元素
            print(before_leaveamount)
        resp = HttpRequest().http_request(method,
                                          url,
                                          param,
                                          cookies=getattr(
                                              GetData, 'cookies'))  #传入cookies
        #判断实际发出的请求是否产生cookies值

        if resp.cookies:  #判断
            setattr(GetData, 'cookies', resp.cookies)

        try:
            if case['CaseId'] == 2:
                query = eval(sql)['sql']
                after_leaveamount = DoMySql().do_mysql(query, 1)[0]
                print(after_leaveamount)
                expect_leaveamount = before_leaveamount + int(param['amount'])
                self.assertEqual(after_leaveamount, expect_leaveamount)
                print(expect_leaveamount)
            if case['ExpectedResult'].find('expect_amount') != -1:
                case['ExpectedResult'] = case['ExpectedResult'].replace(
                    'expect_amount', str(expect_leaveamount))
                self.assertEqual(eval(case['ExpectedResult']), resp.json())
            TestResult = 'Pass'
        except AssertionError as e:
            logger.error('请求错误,错误是{}'.format(e))
            TestResult = 'Failed'
            raise e
        finally:
            #写回结果
            # t = DoExcel(case_path, 'Sheet1')
            self.t.write_back(case['CaseId'] + 1, 9, resp.text)
            self.t.write_back(case['CaseId'] + 1, 10, TestResult)

        logger.info('测试结果{}'.format(resp.json()))
예제 #4
0
 def setUp(self):#测试前的准备
     self.t = DoExcel(case_path, 'register')  #
예제 #5
0
 def setUp(self):  #测试前的准备
     self.t = DoExcel(case_path, 'invest')  #
예제 #6
0
class TestCases(unittest.TestCase):
    def setUp(self):  #测试前的准备
        self.t = DoExcel(case_path, 'invest')  #

    def tearDown(self):
        pass

    test_data = DoExcel(case_path, 'invest').read_data('CaseInvest')

    @data(*test_data)
    def test_case(self, case):
        global TestResult
        # test_data = DoExcel(case_path, 'Sheet1').read_data()
        method = case['Method']  # 获取请求方法
        url = case['URL']  # 获取请求地址
        # param = eval(case['Params'])  # 获取请求参数

        # t=case['SQL']
        # if case['CaseId']==1:
        #     # print(eval(t)['sql2'])
        #     loanid=DoMySql().do_mysql(eval(t)['sql2'],1)
        #     print(loanid)
        param = eval(get_data.replace(case['Params']))
        # print(param)
        if case['SQL'] != None:
            sql = get_data.replace(case['SQL'])

        logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format(
            case['Module'], case['CaseId'], case['Title']))
        logger.info('测试数据是{}'.format(case))

        if case['CaseId'] == 2:
            query = eval(sql)['sql']  # 获取sql语句11   11
            before_leaveamount = DoMySql().do_mysql(
                query, 1)[0]  # 操作数据库 获取项目id值 获取的是个元组  取出元组元素
            print(before_leaveamount)

        resp = HttpRequest().http_request(method,
                                          url,
                                          param,
                                          cookies=getattr(GetData, 'cookies'))

        if case['CaseId'] == 1:
            query = eval(sql)['sql']  # 获取sql语句
            id = DoMySql().do_mysql(query,
                                    1)[0]  # 操作数据库 获取项目id值 获取的是个元组  取出元组元素
            setattr(GetData, 'normal_memberid', str(id))  # 动态获取项目id值
            print(id)
        if case['CaseId'] == 1:
            query = eval(sql)['sql2']  #获取sql语句
            loan_id = DoMySql().do_mysql(query,
                                         1)[0]  #操作数据库 获取项目id值 获取的是个元组  取出元组元素
            setattr(GetData, 'loan_id', str(loan_id))  #动态获取项目id值
            print(loan_id)
        #

        if resp.cookies:
            setattr(GetData, 'cookies', resp.cookies)

        if case['CaseId'] == 2:
            query = eval(sql)['sql']
            after_leaveamount = DoMySql().do_mysql(query, 1)[0]
            print(after_leaveamount)

        try:
            if case['SQL'] == 2:
                query = eval(sql)['sql']
                after_leaveamount = DoMySql().do_mysql(query, 1)[0]
                print(after_leaveamount)

                # print(type(after_leaveamount[0]))
                expect_leaveamount = before_leaveamount - int(param['amount'])
                print(expect_leaveamount)
                self.assertEqual(after_leaveamount, expect_leaveamount)
            self.assertEqual(eval(case['ExpectedResult']), resp.json())
            TestResult = 'Pass'
        except AssertionError as e:
            logger.error('请求错误,错误是{}'.format(e))
            TestResult = 'Failed'
            raise e
        finally:
            #写回结果
            # t = DoExcel(case_path, 'Sheet1')
            self.t.write_back(case['CaseId'] + 1, 9, resp.text)
            self.t.write_back(case['CaseId'] + 1, 10, TestResult)

        logger.info('测试结果{}'.format(resp.json()))
예제 #7
0
 def setUp(self):#测试前的准备
     self.t = DoExcel(case_path, 'addloan')  #
예제 #8
0
class TestCases(unittest.TestCase):

    def setUp(self):#测试前的准备
        self.t = DoExcel(case_path, 'addloan')  #
    def tearDown(self):
        pass

    test_data = DoExcel(case_path, 'addloan').read_data('CaseAddloan')

    @data(*test_data)
    def test_case(self,case):
        global TestResult
        # test_data = DoExcel(case_path, 'Sheet1').read_data()
        method = case['Method']  # 获取请求方法
        url = case['URL']  # 获取请求地址

        #参数化项目id 判断请求参数中是否参数化项目id 存在则替换成前一条用例所得到的项目id
        # if case['Params'].find('loanid')!=-1:
        #     param=eval(case['Params'].replace('loanid',str(getattr(GetData,'loan_id'))))
        #     # print(param['id'])
        # else:
        #     param = eval(case['Params'])  # 获取请求参数

        #参数化  获取请求参数
        param=eval(get_data.replace(case['Params']))
        # print(param)
        if case['SQL']!=None:
            sql = get_data.replace(case['SQL'])
        # query = eval(sql)['sql']
        # print(query)
        # print(sql)
        # print(type(sql))
        logger.info('---正在测试{}模块,第{}条测试用例,测试标题:{}---'.format(case['Module'], case['CaseId'], case['Title']))
        logger.info('测试数据是{}'.format(case))

        resp = HttpRequest().http_request(method, url, param,cookies=getattr(GetData,'cookies')) #完成http请求

        if case['CaseId'] == 1:
            query = eval(sql)['sql']  # 获取sql语句
            id = DoMySql().do_mysql(query, 1)[0]  # 操作数据库 获取项目id值 获取的是个元组  取出元组元素
            setattr(GetData, 'normal_memberid', str(id))  # 动态获取项目id值
            print(id)
        if case['CaseId']==2:
            query=eval(sql)['sql']  #获取sql语句
            loan_id=DoMySql().do_mysql(query,1)[0]  #操作数据库 获取项目id值 获取的是个元组  取出元组元素
            setattr(GetData,'loanid',str(loan_id))  #动态获取项目id值
            print(loan_id)
        if resp.cookies:
            setattr(GetData,'cookies',resp.cookies)
        try:
            self.assertEqual(eval(case['ExpectedResult']),resp.json())
            TestResult='Pass'
        except AssertionError as e:
            logger.error('请求错误,错误是{}'.format(e))
            TestResult = 'Failed'
            raise e
        finally:
            #写回结果
            # t = DoExcel(case_path, 'Sheet1')
            self.t.write_back(case['CaseId'] + 1, 9, resp.text)
            self.t.write_back(case['CaseId'] + 1, 10, TestResult)

        logger.info('测试结果{}'.format(resp.json()))
예제 #9
0
 def setUp(self):  #测试前的准备
     self.t = DoExcel(case_path, 'login')  #