python----数据驱动ddt的使用
一、安装ddt
pip install ddt
二、数据驱动和代码驱动
数据驱动:根据你提供的数据来进行测试,比如接口自动化测试框架ATP
代码驱动:必须得写代码才能测试,比如unittest
三、使用数据驱动框架的好处
--代码复用率高,同一测试逻辑编写一次,可以被多条测试数据复用,提高了测试代码的复用率,同时可以提高测试脚本的编写效率
--异常排查效率高,测试框架依据测试数据,每条数据生成一条测试用例,用例执行过程相互隔离,在其中一条失败的情况下,不会影响其他的测试用例
--代码的可维护性高,清晰的测试框架,利于其他测试工程师阅读,提高了代码的可维护性
四、DDT的使用
DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(可以从json或yaml文件中获取测试数据)
只有以yaml 和yml结尾的文件是以yaml的形式上传测试数据,其他情况默认为json
通常情况下,data中的数据按照一个参数传递给测试数据,如果data中包含多个数据,是以元祖、列表、字典等数据类型,需要自行在脚本中对数据进行分解或者使用unpack分解数据
@data(a,b)
那么a和b各运行一次测试用例
@data([a,b],[c,d])
如果没有用unpack解析,则[a,b]会被当成一个参数传入用例中运行
如果有用unpack解析,则[a,b]中a和b会被分解开,按照两个参数传入用例中运行
@file_data(filename)
对于json文件,每一个json元素按照一条测试用例运行,可以依据python分解元祖、列表或字典的方式分解传入
import ddt
import unittest @ddt.ddt
class MyCase(unittest.TestCase):
@ddt.data(1,2) #运行2次
def testa(self,value):
print(value) @ddt.data([1,2]) #运行1次
def testb(self,value):
print(value) @ddt.data([1,2],[3,4]) #不加unpack 会报错
def testc(self,a,b):
self.assertNotEqual(a,b) @ddt.data([1,2],[3,4]) #运行2次
@ddt.unpack
def testd(self,a,b):
self.assertNotEqual(a,b) if __name__ == '__main__':
unittest.main()
python----数据驱动ddt的使用的更多相关文章
- Python 数据驱动ddt 使用
准备工作: pip install ddt 知识点: 一,数据驱动和代码驱动: 数据驱动的意思是 根据你提供的数据来测试的 比如 ATP框架 需要excel里面的测试用例 代码驱动是必须得写代码 ...
- Python数据驱动DDT的应用
在开始之前,我们先来明确一下什么是数据驱动,在百度百科中数据驱动的解释是:数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行 ...
- python 数据驱动ddt使用,需要调用下面的代码,请挨个方法调试,把不用的注释掉
#!/usr/bin/env/python # -*- coding: utf-8 -*- # @Time : 2018/12/15 15:27 # @Author : ChenAdong # @Em ...
- Python数据驱动ddt
import ddtimport unittest """ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file ...
- 【webdriver自动化】Python数据驱动工具DDT
一.Python数据驱动工具ddt 1. 安装 ddt pip install ddt DDT是 “Data-Driven Tests”的缩写 资料:http://ddt.readthedocs.i ...
- python webdriver 测试框架-数据驱动DDT的例子
先在cmd环境 运行 pip install ddt 安装数据驱动ddt模块 脚本: #encoding=utf-8 from selenium import webdriver import un ...
- Python3数据驱动ddt
对于同一个方法执行大量数据的程序时,我们可以采用ddt数据驱动的方式,来对数据规范化整理及输出 一.需要使用python的ddt库,ddt,data,unpack方法 1.仅使用ddt和data,代码 ...
- Python 数据驱动工具:DDT
背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写 ...
- Python 数据驱动 unittest + ddt
一数据驱动测试的含义: 在百度百科上的解释是: 数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产 ...
- python之数据驱动ddt操作(方法一)
下载ddt并安装 Pip install ddt 或者官网下载安装 http://ddt.readthedocs.io/en/latest/ https://github.com/txels/ddt ...
随机推荐
- WPF中查找指定类型的父控件
/// <summary> /// 查找父控件 /// </summary> /// <typeparam name="T"></type ...
- linux系统安装MongoDB
1.在官网https://www.mongodb.org/dl/linux/x86_64下载对应的安装压缩包,我用的是3.2.5,建议使用此版本,版本越高,可能会出现其它未知问题,比如需要glibc高 ...
- httpd 处理模型
prefork 一个请求用一个进程响应 worker 一个请求用一个线程响应(启动多个进程,多个进程生成多个线程) event 一个进程,处理多个请求
- POI兴趣点搜索 - 地理信息系统(6)
(2017-08-13 银河统计) POI(Point of Interest),中文可以翻译为"兴趣点",兴趣点(POI)是地理信息系统中的一个术语,泛指一切可以抽象为点的地理对 ...
- vue脚手架3
跟脚手架2安装都一样,已经安装脚手架2的要执行下面的命令 ,先删除 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载 在执行下面的命令 ...
- python3 error 机器学习 错误
AttributeError: 'NoneType' object has no attribute 'sqrt' 这个错误其实是因为 plt.scatter(x[:,0],x[:,1],x[:,2] ...
- ActiveMQ下载与安装(Linux环境下进行)
下载 官方网站:http:activemq.apache.org/ 安装(liunx) 1.将apache-activemq-5.12.0-bin.tar.gz(liunx环境下的压缩包)上传至服务器 ...
- ajax基本用法介绍
使用ajax需要同时在模板中引用jQuery,ajax基本使用方法如下: $.ajax({ url:'url', type:'POST', data:{'k1':v1,'k2':v2,}, dataT ...
- asp.net 获取网站根目录总结
.CSHttpContext.Current.Server.MapPath();//所在文件夹路径System.Web.HttpContext.Current.Request.PhysicalAppl ...
- HTML解析之BeautifulSoup
BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库.BeautifulSoup提供一些简单的.函数用来处理导航.搜索.修改分析树等功能.BeautifulSoup模块 ...