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

很多时候测试框架需要根据测试数据来自动生成测试用例脚本,比如接口测试,通过不同参数构建组合去请求接口,然后验证返回结果,,如果这样能通过配置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[n],’test_%s’%a[‘testcasename’]) n +=1

版权声明:本文为博主原创文章,未经博主允许不得转载。

以诚感人者,人亦诚而应。

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

相关文章:

你感兴趣的文章:

标签云: