python+selenium2.53.6学习(5)之数据驱动模块ddt
安装: pip install ddt
测试:import ddt
DDT是 “Data-Driven Tests”的缩写
DDT: 包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(获取测试数据)
ddt.ddt:装饰类,也就是继承自TestCase的类
ddt.data:装饰测试方法。参数是一系列的值
ddt.file_data:装饰测试方法。参数是文件名。文件可以是json 或者 yaml类型
ddt.unpack:传递的是复杂的数据结构时使用。比如使用元组或者列表,添加unpack之后,ddt会自动把元组或者列表对应到多个参数上
先看不适用ddt的例子
# coding:utf-8 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait import unittestdata = [{'sum_a': 2, 'sum_b': 3, 'result': 5}, {'sum_a': 2, 'sum_b': 3, 'result': 6}, {'sum_a': 5, 'sum_b': 10, 'result': 4} ]def sum(a, b):return a + bclass TestDDT(unittest.TestCase):@classmethod def setUpClass(cls):cls.data = dataprint '验证a+b,a-b结果' def test_01(self):self.assertTrue(sum(self.data[0]['sum_a'], self.data[0]['sum_b']) == self.data[0]['result'])def test_02(self):self.assertTrue(sum(self.data[1]['sum_a'], self.data[1]['sum_b']) == self.data[1]['result'])def test_03(self):self.assertTrue(sum(self.data[2]['sum_a'], self.data[2]['sum_b']) == self.data[2]['result'])def test_04(self):for i in self.data:self.assertEqual(sum(i['sum_a'], i['sum_b']), i['result'])@classmethod def tearDownClass(cls):print '验证结束' if __name__ == '__main__':unittest.main()
使用之后:
使用之后,代码一方面简洁了很多,在一个测试方法中执行多条测试用例,和图1的test_04相比,如果断言异常也会继续执行(因为是不同的case)
结果(unittest.main(verbosity=2)执行):
使用方法:
首先在Class上添加装饰器@ddt.ddt,其次在调用的方法上引入测试数据data('数据')
新建一个文件 test_data.json
{"list_num": [ 10, 12, 15 , 23 ], "tuple_num": [ 15, 12, 50 ], "str_num": "welcome" }
引用
结果:
注: 对json格式不太熟悉,不知道元祖为什么不行
python+selenium2.53.6学习(5)之数据驱动模块ddt相关推荐
- Python数据驱动模块DDT
一.DDT简介 Data Driven Testing,数据驱动,简单来说就是测试数据的参数化 Python数据驱动模块DDT,包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据) 通常情 ...
- Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)
Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习.深度学习.大数据.云计算等)推荐系统(包括语音生成.识别等前沿黑科技) 导读 基于Python的GUI界面设计的一套 ...
- python学习四(处理数据)
python学习四(处理数据) head first python中的一个数据处理的例子 有四个U10选手的600米成绩,请取出每个选手跑的最快的3个时间.以下是四位选手的9次成绩 James 2-3 ...
- python的类程序的结构_Python程序员学习路径之数据结构篇
原标题:Python程序员学习路径之数据结构篇 点击标题下「异步图书」可快速关注 在计算机科学中,数据结构是一门进阶性课程,概念抽象,难度较大.Python语言的语法简单,交互性强.用Python来讲 ...
- Python学习:图片数据归一化处理
文章与视频资源多平台更新 微信公众号|知乎|B站|头条:AI研习图书馆 深度学习.大数据.IT编程知识与资源分享,欢迎关注,共同进步~ 1. 介绍 Python学习:在文件夹下,提取目录下所有图片,更 ...
- Python学习笔记:数据可视化(一)
python相关 基础概念 数据:离散的,客观事实的数字表示 信息:处理后的数据,为实际问题提供答案 - 为数据提供一种关系或一个关联后,数据就成了信息,这种关联通过提供数据背景来完成 知识: 是数据 ...
- 学习python的第三节课:基础数据
文章目录 一.几个概念 1.1 表达式 1.2 语句 1.3 程序(program) 1.4 函数(function) 二.数据类型 2.1 什么是程序 2.2 数据类型 2.3 算法 三.pytho ...
- 联邦学习non-iid用户数据采样python实现
联邦学习non-iid用户数据采样python实现 问题描述 解决办法 问题描述 联邦学习non-iid用户数据采样 解决办法 直接上代码 import os from scipy.io import ...
- 学习python数据分析的30个练手数据+4个数据集网站
前几天发了一个博文:懂点excel作图, 怎么让pyechart作的图更具"职场范"呢?丨pyechart工作作图模板, 一不小心上了热榜, 感谢小伙伴们的支持, 以后会多总结发更 ...
最新文章
- python 逻辑回归
- Python数据结构——栈、队列的实现(一)
- linux无桌面重做系统,Linux不需要重做系统
- 袁亚湘院士谈如何做好研究生:要逼着自己去想问题,最大的浪费是聪明人不思考...
- 「视频版」当线程池溢出之后,程序会奔溃吗?面试突击 007 期
- 阿里云发布首个流式存储与播放解决方案
- python将argv作为参数,Python当中的命令行参数sys.argv[]的使用方法
- 听说大家想补补算法和数据结构,给大家推荐一个GitHub 15k星的图文版开源项目...
- C++ TBB concurrent_unordered_map find() at() return static_cast<size_t>( t ) * internal::hash_multip
- JAVA入门_工具类_书籍借阅日期计算
- 这届年轻人为什么都不爱看电视了?
- 小说站源码(带自动采集开源小说网站源码)
- MFC之映美精双目相机保存图片
- We're sorry but ***** doesn't work properly without JavaScript enabled. Please enable it to continue
- win7 无法打开vscode 1.71版本
- 小程序 : js获取今日日期、加日期、减日期; 判断今日 、判断昨日
- An overview of color constancy algorithms论文笔记
- 小程序 朋友圈,点赞 ,评论,发布动态,功能,上传图片 -----发布动态
- html怎么设置文艺字体,用CSS让你的文字更有文艺范
- 7-24 程序改错题3 (5 分)
热门文章
- 【论文笔记】Enhanced Decentralized Autonomous Aerial Swarm with Group Planning
- F值(F-measure),准确率,召回率计算方法
- Mac下移动硬盘/U盘热插拔后不能识别的问题解决
- 中断和异常 in 操作系统【操作系统学习笔记】
- 哈希(解决哈希冲突,封装map/set,哈希的应用{位图/布隆过滤器})
- 乐鑫Esp32学习之旅 18 入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
- 高数篇:04拉格朗日中值定理
- windows计划任务 0xff_利用定时任务和VBS设置windows自动语音定时提醒
- 文档flie的读写,open()的用法
- sun.security.validator.ValidatorException