您的位置:首页 > 编程语言 > Python开发

python的unittest测试框架的扩展浅谈

2015-07-23 12:31 645 查看
很多时候测试框架需要根据测试数据来自动生成测试用例脚本,比如接口测试,通过不同参数构建组合去请求接口,然后验证返回结果,如果这样能通过配置excel数据来驱动测试,而不用去写一大堆的测试用例脚本代码,减轻了维护自动化测试脚本的时间和成本,大概有一个思路可以实现以上想法,先写一个通过的unittest测试基类,然后用过python的内置type去生成自定义的功能模块类,再在生成的自定义类里以setattr方法来生成每一个功能模块类下的用例方法,这样到时收集测试报告的时候,可以比较清晰的分类展示。

如以下函数是根据excel生成测试类和类下的测试用例方法,当然如果接入平台里测试,到最后测试完要去销毁之前生成的类和方法

def generateTestCases(log,arglists):

'''动态生成测试用例类及其方法'''

class_list=[]

for args in arglists:

custom_class = type(args['inter'], (myEwsCase,), {"__doc__":args['cases'][0]['description']})

for a in args['cases']:

setattr(custom_class,'test_%s'%a['testcasename'],myEwsCase.getTestFunc(log,a))

class_list.append(custom_class)

return class_list

def destroyTestCases(log,custom_class,arglists):

'''销毁所有自动生成用例方法'''

n=0

for args in arglists:

for a in args['cases']:

delattr(custom_class
,'test_%s'%a['testcasename'])

n +=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: