目录

1. 为什么要使用参数化

2. ddt方法

2.1 ddt介绍

2.2 ddt安装

2.3 ddt实战

3. paramunittest


1. 为什么要使用参数化

有些用例会考虑正向、逆向等多种组合,在同一个方法上测试不同的参数,这时候就需要考虑使用什么方法来进行管理大量测试数据,循环执行用例,提高代码的复用率。UnitTest提供了两种参数化方法,分别是ddt方法和paramunittest方法,两种方法都类似,可以传入多组参数,自动生成多个用例,下面就来介绍两个方法分别怎么使用。

2. ddt方法

2.1 ddt介绍

ddt即data driver test,数据驱动测试,简单来说就是测试数据的参数化。

2.2 ddt安装

使用pip下载安装ddt:

pip install ddt

或者使用豆瓣源安装pip install -i Simple Index ddt

2.3 ddt实战

  1. 首先声明一个@ddt,让程序知道我们要使用ddt了
  2. 使用@data来设定待测参数
  3. 使用@unpack来拆分数据,根据“,”来进行拆分
  4. 导入外部数据:@file_data

@unpack使用:拆分数据,可以拆分列表,元组,字典

列表测试:

元组测试:

字典测试:

通过读取文件填入参数:

1.新建一个txt文件:

2.读取文件中的内容,填入参数

@file_data:文件参数化,导入外部文件

1、新建一个文件,如:ddt_data_file.json,也可以是yaml文件,使用yaml文件需要安装yaml: pip install pyyaml

2、传入文件地址

json文件内容

yaml文件内容

3. paramunittest

可以传入多组参数,自动生成多个用例,与ddt是一样的效果

环境准备:

1、使用pip下载安装paramunittest

pip install paramunittest或者使用豆瓣源,快一点

pip install -i Simple Index paramunittest

2、参数可以传元组也可以传字典

3、注意接受参数时,必须要定义setParameters这个方法,并且只能是这个名称。括号后面的参数分别接受传入的参数名称。前面定义的是字典,那参数就跟前面字典的key保持一致

4、执行顺序是先执行0,1,再执行10,11,12依次来的,设计就是如此,与前面的ddt是同样的

5、也可以传元组类型

Unittest参数化相关推荐

  1. python3 应用 nose_parameterized 实现unittest 参数化

    一.读取变量的值,实现unittest 参数化 import nose_parameterized,unittestdef calc(a:int,b:int):return a+b case_data ...

  2. day10-Python学习笔记(二十三)线程池,unittest参数化,协程

    线程池,unittest参数化,协程 python的多线程只能利用cpu的一个核心,一个核心同时只能运行一个任务那么为什么你使用多线程的时候,它的确是比单线程快答:如果是一个计算为主的程序(专业一点称 ...

  3. Python Unittest参数化parameterized之数据驱动

    一.parameterized介绍 之前我们写过 Unittest第三方库parameterized类似Unittest的DDT.Pytest@pytest.mark.parametrize,可以实现 ...

  4. unittest参数化parameterized

    # pip install parameterized安装包 # 若报错"Value for scheme.headers does not match",重装pip # 若报错& ...

  5. Python+Selenium 自动化测试 6. Unittest模块学习

    unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 源码例 ...

  6. Python - unittest单元测试框架(全)

    一.简介 1.unittest的作用 unittest是Python内置的单元测试框架,主要用于单元测试,具备编写用例.组织用例.执行用例.输出报告等作用. 2.单元测试框架的优点 单元测试是通过一段 ...

  7. pytest学习和使用12-Unittest和Pytest参数化详解

    12-Unittest和Pytest参数化详解 1 Unittest参数化 1.1 ddt 1.1.1 简介 1.1.2 说明 1.1.3 安装 1.1.4 版本信息 1.1.5 实例1 1.1.6 ...

  8. appium python框架结构,GitHub - wyybingo/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...

    0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...

  9. pythonwebview自动化测试_GitHub - githubwzg/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...

    0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...

最新文章

  1. 美多商城之用户中心(修改密码)
  2. Java多线程-synchronized关键字
  3. javascript各种小技巧
  4. php el表达式,JSP EL表达式学习
  5. js代码收集(1)_隐藏div、table间隔样式设置
  6. java代码编译之后是如何运行的?不知道这些,面试官问你jvm问题,你只能懵圈
  7. 求任意大小矩阵的转置矩阵
  8. WCF技术剖析之十一:异步操作在WCF中的应用(上篇)
  9. php复选框样式,如何自定义checkbox样式?附代码
  10. 转:Some interesting facts about SharePoint 2007 Search
  11. Spark1.5.1学习笔记汇总
  12. 小米2怎样启动ANdroid?,小米2S如何打开后盖? 小米手机开盖技巧介绍(小米手机通用)...
  13. 用maven骨架新建项目以及解决速度慢的问题
  14. 将字符'0'-'9'转换为数字(c语言)
  15. 刷机-升级到3.90M33的方法
  16. 【Android开发】微信精选,文章资讯类App开发记录总结
  17. Reflections 反射api使用总结
  18. oracle 和mysql 视图_Oracle视图的种类和区别
  19. RSI相对强弱指标策略-指标定义、计算公式与策略思考
  20. ui设计师css和html,27个HTML5和CSS3的网站设计欣赏

热门文章

  1. RDO远程桌面管理工具
  2. matlab中strel是什么意思,matlab strel(1)
  3. TypeError: sequence item 0: expected string, int found
  4. Android网络篇
  5. WEBGIS开发 数据处理软件CesiumLab学习使用总结
  6. python生成一笔画_Python系列—一笔画问题的算法研究
  7. 多ip服务器代理设置
  8. Jmeter——Jmeter限制网速进行测试
  9. CorelDRAW多个文件如何批量导出JPG
  10. RBF神经网络学习笔记一