python-使用unittest和ddt实现数据驱动
一、数据驱动的概念
相同测测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离,这样的测试脚本设计模式成为数据驱动。测试框架使用unittest 和ddt模块相结合的方式
二、unittest测试框架如下
#coding:utf-8
import unittest
class DoubanTest(unittest.TestCase):
#测试用例初始化
def setUp(self):
pass
#定义具体的测试方法
def test_add(self,testdata1,testdata2,testdate3,exceptdata):
sum=0
sum=testdata1+testdata2+testdate3
self.assertEqual(sum,exceptdata)
#测试用例执行完成后对资源进行释放
def tearDown(self):
pass
if __name__ =='__main__':
unittest.main()
三、引入ddt框架,实现数据驱动
引入ddt框架需要从官网下载ddt模块(官网下载地址:https://pypi.python.org/pypi/ddt#downloads)。
引入ddt框架,测试代码如下:
#coding:utf-8
import ddt
import unittest
@ddt.ddt
class DoubanTest(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
@ddt.data([1,2,3,6],[2,3,4,5],[1,2,2,5])
@ddt.unpack
def test_add(self,testdata1,testdata2,testdate3,exceptdata):
sum=0
sum=testdata1+testdata2+testdate3
self.assertEqual(sum,exceptdata)
if __name__ =='__main__':
unittest.main()
首先在头部导入ddt模块(import ddt)。其次在测试类前声明使用ddt(@ddt.ddt)。第三步在测试方法前使用@ddt.data()添加测试数据,多组测试数据以逗号隔开如@ddt.data(1,2,3),每组数据中的数据与测试方法中定义的形参个数及顺序一一对应。最后使用@ddt.unpack进行修饰,也是测试过程中将测试数据传给测试方法中的形参。本例子@ddt.data共有三组测试数据,测试用例会被执行三次。每组测试数据有4条数数据,如第一组数据[1,2,3,6],一一传给测试方法test_add方法中的形参testdata1,testdata2,testdate3,exceptdata。
本例子测试执行结果如下:
Ran 3 tests in 0.000s
FAILED (failures=1)
python-使用unittest和ddt实现数据驱动的更多相关文章
- python+requests+unittest 接口ddt测试
以数据驱动的形式,将用例维护在py文件中 源码分析: 变量定义 publicParameters.py """ 公共参数 , 按照各公司实情,自行编写 "&qu ...
- python selenium中使用ddt进行数据驱动测试
- Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构
1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_pa ...
- python Unittest+excel+ddt数据驱动测试
#!user/bin/env python # coding=utf- # @Author : Dang # @Time : // : # @Email : @qq.com # @File : # @ ...
- Unittest框架+ddt数据驱动+HTMLTestRunner+sendmail(自动发送测试报告)+git+Jenkins
本次写的是针对有代码基础的,没基础建议先去学基础,以下所有描述内容都是我已经在公司项目实践成功的!仅供参考 整体思路: 1.接口自动化用的是Python中unittest框架 2.所有的测试数据用例存 ...
- python ddt 实现数据驱动一
ddt 是第三方模块,需安装, pip install ddt DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据) 通常情况下,data中的数据按照一个参数传递给测试用例,如果da ...
- python ddt 实现数据驱动
ddt 是第三方模块,需安装, pip install ddt DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据) 通常情况下,data中的数据按照一个参数传递给测试用例,如果da ...
- python ddt实现数据驱动
首先安装ddt模块,命令:pip install ddt 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或 ...
- 【python接口自动化】- DDT数据驱动测试
简单介绍 DDT(Date Driver Test),所谓数据驱动测试,简单来说就是由数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.通过使用数据驱动测试的方法,可以在需要验证多组数据 ...
随机推荐
- 转:SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
转:https://www.cnblogs.com/zyw-205520/p/4771253.html 1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年 ...
- 项目部署到自己的IIS上
一般我们只能在本机上才可以开到我们的项目,这个是不需要连网的 如果想让我们的项目在网站中打开,别人也可以看到,就需要把我们的项目部署到服务器上了,输入IP就可以看到我们的项目 发布项目 然后发布网站 ...
- jQuery对表单、表格的操作以及更多应用
表单和表格都是HTML的重要组成部分,分别用于采集.提交用户输入的信息和显示列表数据. 表单应用:一个表单有3个基本组成部分: ①表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器 ...
- node.js启动调试方式
node.js启动调试方式(nodeJs不能像js一样在控制台调试) 以express项目为例,启动路径是localhost:3000 一.通过node命令启动 node server/bin/www ...
- mac安装mysql及workbench
安装mysql 登录MySQL网站 打开网站Download MySQL Community Server,选择下方的dmg文件下载 点击download,此处为8.0.11版本 然后选择no tha ...
- 浅谈PHP中的数组和JS中的数组
最近在做前后端对接的时候,遇到一个问题,前端要求返回的数据格式是左边的,但是我通过json_encode返回到的数据格式是右边的 注意:数据格式从"[]"(数组)变成了&quo ...
- linux特殊权限位suid
特殊权限位基本说明(了解): linux系统基本权限位为9位权限,但还有额外3位权限位,共12位权限: suid s(x) S 4 用户对应的权限位(用户对应的3位 ...
- struts2属性驱动模型
属性驱动模型的作用: 因为struts2与servlet API 实现了解耦,无法直接使用HttpServlet Request对象获取表单提交的参数,但Struts2提供了属性驱动模型机制来解决这个 ...
- python-含参函数
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- ''' #----------函数位置参数和关键字参数---------- def test(x,y): ...
- ospf几种lsa
ospf网络类型 1.点到点 点到点网段 2.广播网络 transit网段(至少有两台路由器的广播型网段) 3.NBMA transit网段 4.点到多点 ospf网段的类型(网段的类型只与网络的类型 ...