Unittest参数化
目录
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实战
- 首先声明一个@ddt,让程序知道我们要使用ddt了
- 使用@data来设定待测参数
- 使用@unpack来拆分数据,根据“,”来进行拆分
- 导入外部数据:@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参数化相关推荐
- python3 应用 nose_parameterized 实现unittest 参数化
一.读取变量的值,实现unittest 参数化 import nose_parameterized,unittestdef calc(a:int,b:int):return a+b case_data ...
- day10-Python学习笔记(二十三)线程池,unittest参数化,协程
线程池,unittest参数化,协程 python的多线程只能利用cpu的一个核心,一个核心同时只能运行一个任务那么为什么你使用多线程的时候,它的确是比单线程快答:如果是一个计算为主的程序(专业一点称 ...
- Python Unittest参数化parameterized之数据驱动
一.parameterized介绍 之前我们写过 Unittest第三方库parameterized类似Unittest的DDT.Pytest@pytest.mark.parametrize,可以实现 ...
- unittest参数化parameterized
# pip install parameterized安装包 # 若报错"Value for scheme.headers does not match",重装pip # 若报错& ...
- Python+Selenium 自动化测试 6. Unittest模块学习
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 源码例 ...
- Python - unittest单元测试框架(全)
一.简介 1.unittest的作用 unittest是Python内置的单元测试框架,主要用于单元测试,具备编写用例.组织用例.执行用例.输出报告等作用. 2.单元测试框架的优点 单元测试是通过一段 ...
- 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 ...
- appium python框架结构,GitHub - wyybingo/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...
0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...
- pythonwebview自动化测试_GitHub - githubwzg/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...
0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...
最新文章
- 美多商城之用户中心(修改密码)
- Java多线程-synchronized关键字
- javascript各种小技巧
- php el表达式,JSP EL表达式学习
- js代码收集(1)_隐藏div、table间隔样式设置
- java代码编译之后是如何运行的?不知道这些,面试官问你jvm问题,你只能懵圈
- 求任意大小矩阵的转置矩阵
- WCF技术剖析之十一:异步操作在WCF中的应用(上篇)
- php复选框样式,如何自定义checkbox样式?附代码
- 转:Some interesting facts about SharePoint 2007 Search
- Spark1.5.1学习笔记汇总
- 小米2怎样启动ANdroid?,小米2S如何打开后盖? 小米手机开盖技巧介绍(小米手机通用)...
- 用maven骨架新建项目以及解决速度慢的问题
- 将字符'0'-'9'转换为数字(c语言)
- 刷机-升级到3.90M33的方法
- 【Android开发】微信精选,文章资讯类App开发记录总结
- Reflections 反射api使用总结
- oracle 和mysql 视图_Oracle视图的种类和区别
- RSI相对强弱指标策略-指标定义、计算公式与策略思考
- ui设计师css和html,27个HTML5和CSS3的网站设计欣赏