7、main方法、ParametrizedTestCase、unittest

main.py

# -*- coding: UTF-8 -*-
import sys
import os
import unittest,time
from BeautifulReport import BeautifulReport
from HSHC_Crm.Business.case.TM_case.Unittest_CastTM import Unittest_Tm
from HSHC_Crm.Business.case.ParametrizedTestCase import ParametrizedTestCase
from HSHC_Crm.Business.db_mysql import TestData_Record_db
class Execute_case(ParametrizedTestCase,unittest.TestCase):
    # def __init__(self,param=None):
    #     self.param =param

    def case_main(self,**param):

        paramDict = {
            "phone": param["phone"],
            "name": param["name"],
            "type": param["type"]
        }
        # print(paramDict)
        test_suite = unittest.TestSuite()
        test_suite.addTest(ParametrizedTestCase.parametrize(Unittest_Tm,param=paramDict,type=param["type"]))

        '''
        now:当前时间
        test_report_name :测试报告名称
        test_case_name : 测试报告中用例名称
        staric :测试报告存放路径
        '''
        now = time.strftime('%Y-%m-%d %H-%M-%S')
        test_report_name = now + "_TM_addleads" +".html"
        test_case_name = '接口测试报告'
        staric = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))))+ '/static' + '/report'


        #生成测试报告
        runner = BeautifulReport(test_suite)
        runner.report(filename=test_report_name, description=test_case_name,report_dir =staric)


        #测试报告入库
        db_staric = "/static/report/" + test_report_name
        if param["type"] == '2':
            msg = "天猫线索派发电销主管"
            db_report = TestData_Record_db.NewReport(phone=param["phone"], log_path=db_staric, msg=msg)
        if param["type"] == '3':
            msg = "天猫线索派发门店经理"
            db_report = TestData_Record_db.NewReport(phone=param["phone"], log_path=db_staric, msg=msg)
        if param["type"] == '4':
            msg = "天猫线索派发客户经理"
            db_report = TestData_Record_db.NewReport(phone=param["phone"], log_path=db_staric, msg=msg)

        print(param["phone"] + '测试报告已生成')
        return  param["phone"] + '测试报告已生成'

ParametrizedTestCase.py

#coding = utf-8
import unittest,json
class ParametrizedTestCase(unittest.TestCase):

    def __init__(self, methodName='runTest', param=None):
        super(ParametrizedTestCase, self).__init__(methodName)
        self.param = param

    @staticmethod
    def parametrize(testcase_klass,type,param=None):
        testloader = unittest.TestLoader()
        testnames = testloader.getTestCaseNames(testcase_klass)

        suite = unittest.TestSuite()

        suite_list = list(testnames)
        suite_test1 = suite_list[0]
        suite_test2 = suite_list[1]
        suite_test3 = suite_list[2]
        print(suite_list)

        if type =='2':
            test01 = suite_test1
            print("这个2")
            suite.addTest(testcase_klass(test01, param=param))
        if type =='3':
            print("这个3")
            test02 =suite_test2
            suite.addTest(testcase_klass(test02, param=param))
        if type =='4':
            print("这个4")
            test03 = suite_test3
            suite.addTest(testcase_klass(test03, param=param))
        return suite

unittest.py

#coding:utf-8
import unittest
from HSHC_Crm.Business.case.TM_case.TM_Addleads import TM_Createleads
from HSHC_Crm.Business.case.ParametrizedTestCase import ParametrizedTestCase


class Unittest_Tm(ParametrizedTestCase,unittest.TestCase):
    def setUp(self):
        pass

    def test01(self):
        '''天猫线索派发电销主管'''
        TMCreateleads= TM_Createleads().TM_Add_lead(phone=self.param["phone"],name=self.param["name"])
        self.assertTrue(TMCreateleads,"新建断言失败")

    def test02(self):
        '''天猫线索派发门店经理'''
        TMCreateleads= TM_Createleads().TM_mendian(phone=self.param["phone"],name=self.param["name"])
        self.assertTrue(TMCreateleads,"新建断言失败")

    def test03(self):
        '''天猫线索派发客户经理'''
        TMCreateleads= TM_Createleads().TM_xiaoshou(phone=self.param["phone"],name=self.param["name"])
        self.assertTrue(TMCreateleads,"新建断言失败")

if __name__=='__main__':
    a=Unittest_Tm()
    a.test01()
posted @ 2021-10-15 11:03  东北小酱  阅读(87)  评论(0)    收藏  举报