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()

浙公网安备 33010602011771号