非常多时候測试框架须要依据測试数据来自己主动生成測试用例脚本,比方接口測试,通过不同參数构建组合去请求接口,然后验证返回结果。假设这样能通过配置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測试框架的扩展浅谈相关推荐

  1. Robotium双client測试框架

    互联网的本质就是信息交换.移动互联网更是如此, 所以很多移动互联网的服务类应用中有着身份地位不同的两种用户(比如:交易中的买家和卖家, 教学中的老师和学生, 打车中的车主和乘客).近期的工作是给公司的 ...

  2. python用unittest+HTMLTestRunner的框架测试并生成测试报告

    直接贴代码: import unittestfrom selenium import webdriverfrom time import sleepimport osimport time # 定义打 ...

  3. python 前端框架比较_浅谈五大Python Web框架

    说到Web Framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全列表见: 虽然另一大脚本语 ...

  4. python中gil锁和线程锁_浅谈Python中的全局锁(GIL)问题

    CPU-bound(计算密集型) 和I/O bound(I/O密集型) 计算密集型任务(CPU-bound) 的特点是要进行大量的计算,占据着主要的任务,消耗CPU资源,一直处于满负荷状态.比如复杂的 ...

  5. python爬虫实践报告_Python 爬虫实践:浅谈数据分析岗位

    原标题:Python 爬虫实践:浅谈数据分析岗位 转自:法纳斯特 讲道理,pyspider确实是一款优秀的爬虫框架,我们可以利用它快速方便地实现一个页面的抓取. 不过带来便捷性的同时,也有它的局限性, ...

  6. python中if和elif的区别_浅谈对python中if、elif、else的误解

    今天下午在练习python时用了"if...if...else..."的分支结构,结果运行出来吓我一跳.原来我想当然的认为"if...if...else..." ...

  7. 乐学python怎么样_铁乐学Python_day07_集合and浅谈深浅copy

    1.[List补充] 在循环一个列表时,最好不要使用元素和索引进行删除操作,一旦删除,索引会随之改变,容易出错. 如果想不出错,可以采用倒着删除的方法,因为倒着删除进行的话,只是后面元素的位置发生了变 ...

  8. python命名规则数字开头的成语_浅谈Python中带_的变量或函数命名

    搜索热词 Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就 ...

  9. python内建函数有哪些_享学课堂浅谈Python序列内建函数都有哪些

    python的内建函数和库函数的区别是什么?人在得不到的时候,什么都可以不介意.得到之后,什么都有点介意. python.什么是内建函数? python.什么是内建函数?新手小白自学python.不懂 ...

最新文章

  1. halcon:(4)halcon中XLD的概念与应用----汽车引擎盖圆孔检测
  2. Percona-Server-5.5.30安装
  3. 制作iPhone App demo video
  4. <DependencyManagement>记录
  5. UIAppearance
  6. go 判断是否域名_Go编程:对不起,你的 CPU 泄露了
  7. android CheckBox的运用
  8. linux vi 查找哈希,利用 Hashtable 实现快速查找比较-了解
  9. 大众点评字体解密(最新)2020/4/17
  10. TSFS终端存储文件系统边缘计算项目介绍-海洋
  11. matplotlib用Times New Roman且不加粗
  12. 手写迷你Spring框架
  13. 超五类网线与六类网线水晶头为什么不可通用
  14. uniapp教室实验室会议室预约app源码
  15. 普通平键的主要尺寸有_平键的基本参数
  16. @Primary 使用
  17. 21世纪25大扣将排行榜(组图)
  18. 2022/03/21hackthebox取证emo
  19. 编译内核报错——Failed to generate BTF for vmlinux
  20. MMC 检测到此管理单元发生一个错误,建议你关闭并重新启动MMC

热门文章

  1. new Date(2019-05-10 08:00:00) 格式在IE内核或者低版本浏览器中显示NaN或者Invalid Date的问题...
  2. 生成Excle模板,SXSSFWorkbook-2007之后版本不上传服务器
  3. jsTree 插件Ajax数据
  4. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
  5. smartClient 2--可视化组件
  6. 《数据库技术原理与应用教程(第2版)》——习 题 1
  7. python: 多线程实现的两种方式及让多条命令并发执行
  8. js 缺少标识符、字符串或数字
  9. Ubuntu vi文本编辑器
  10. 系统消息是放客户端还是服务器,系统消息是放客户端还是服务器