数据驱动ddt
在设计用例的时候,有些用例操作过程是一样的,只是参数数据输入的不同,如果用例重复的去写操作过程会增加代码量,对于这种多组数据的测试用例,可以使用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载生成
1.安装ddt模块

2.数据驱动的原理
(1)测试数据为多个字典的list类型
(2)测试类前需要加修饰@ddt.ddt
(3)测试用例方法前需要加修饰@ddt.data()
3.代码:
from selenium import webdriver
from common.base import BasePage
from page.page_login import LoginPage,login_url
from common.read_excel_ddt import ExcelUtil
import unittest
import ddt
case_data=[{"user":u"欧皇林宝","psw":u"xxxx","except":False},
{"user":u"欧皇林宝","psw":u"xxxxxxx.","except":True}
] @ddt.ddt
class Login_test(unittest.TestCase):
'''登录页面的测试用例''' @classmethod
def setUpClass(cls):
#只打开一次浏览器
cls.driver=webdriver.Firefox()
#实例化page_login中的LoginPage类
cls.login_driver=LoginPage(cls.driver)
cls.driver.open(login_url) def setUp(self):
#每次都从登录页开始
self.driver.get(login_url) def tearDown(self):
#每次清空登录的cookie,数据还原
self.driver.delete_all_cookies()
@classmethod
def tearDownClass(cls):
#关闭浏览器
cls.driver.quit() def login_case(self,user,psw,exc):
'''登录的流程'''
self.login_driver.input_username(user)
self.login_driver.input_password(psw)
self.login_driver.click_submit()
result=self.login_driver.is_login_sucess()#获取结果
except_result=exc#期望结果
self.assertEqual(result,except_result)#断言 @ddt.data(*case_data)#多个数据 挨个去传
def test_login_01(self,casedata):
'''登陆失败用例:输入正确的账户,错误的密码'''
print(case_data)
def test_login_02(self,casedata):
'''登陆失败用例:输入正确的账户,正确的密码'''
print(case_data)
if __name__=="__main__":
unittest.main(verbosity=2)
数据驱动ddt的更多相关文章
- python webdriver 测试框架-数据驱动DDT的例子
先在cmd环境 运行 pip install ddt 安装数据驱动ddt模块 脚本: #encoding=utf-8 from selenium import webdriver import un ...
- Python 数据驱动ddt 使用
准备工作: pip install ddt 知识点: 一,数据驱动和代码驱动: 数据驱动的意思是 根据你提供的数据来测试的 比如 ATP框架 需要excel里面的测试用例 代码驱动是必须得写代码 ...
- Python3数据驱动ddt
对于同一个方法执行大量数据的程序时,我们可以采用ddt数据驱动的方式,来对数据规范化整理及输出 一.需要使用python的ddt库,ddt,data,unpack方法 1.仅使用ddt和data,代码 ...
- unittest使用数据驱动ddt
简介 ddt(data driven test)数据驱动测试:由外部数据集合来驱动测试用例,适用于测试方法不变,但需要大量变化的数据进行测试的情况,目的就是为了数据和测试步骤的分离 由于unittes ...
- Python数据驱动DDT的应用
在开始之前,我们先来明确一下什么是数据驱动,在百度百科中数据驱动的解释是:数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行 ...
- python接口自动化测试 - 数据驱动DDT模块的简单使用
DDT简单介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数 ...
- unittest---unittest数据驱动(ddt)
在做测试的时候,有些地方无论是接口还是UI只是参数数据的输入不一样,操作过程是一样的.重复去写操作过程会增加代码量,我们可以通过参数化的方式解决这个问题,也叫做数据驱动,我们通过python做参数化的 ...
- python之数据驱动ddt操作(方法三)
import unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport unitt ...
- python之数据驱动ddt操作(方法二)
import unittestfrom ddt import ddt,unpack,datafrom selenium import webdriverfrom selenium.webdriver. ...
随机推荐
- springmvc 日期解决方案(三)使用jackson
引入jar包: <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jac ...
- Ubuntu分区方案归总
更新时间:2010-8-26 一.各文件及文件夹的定义 /bin:bin是binary(二进制)的缩写.存放必要的命令 存放增加的用户程序. /bin分区,存放标准系统实用程序. /boot: ...
- mysql和redis之间互相备份
http://code.google.com/p/redisql/wiki/Examples 项目地址:https://github.com/JakSprats/predis/blob/master/ ...
- C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式
C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...
- 对象语义与值语义、资源管理(RAII、资源所有权)、模拟实现auto_ptr<class>、实现Ptr_vector
一.对象语义与值语义 1.值语义是指对象的拷贝与原对象无关.拷贝之后就与原对象脱离关系,彼此独立互不影响(深拷贝).比如说int,C++中的内置类型都是值语义,前面学过的三个标准库类型string,v ...
- android:hint属性对TextView的影响
近期看到同事写的一段代码,非常easy吧就是: <LinearLayout android:layout_width="wrap_content" android:layou ...
- github get 请求指定页面的代码
https://raw.githubusercontent.com/dragon8github/wx-h5/master/push.sh
- C编程测试存储格式为大段还是小段
目前,计算机存储系统有2种存储格式,大端和小端.数据在内存中存储时以字节为单位,一个int类型有4个字节,这就导致是高字节对应低地址(大端模式),高字节对应高地址(小端模式).大端和小端模式本身没有对 ...
- 设置CentOS控制台分辨率图文详解
最小化安装CentOS,默认是没有图形界面的,这个正合我意.但是命令行界面很小,会有很多输出被迫换行写,影响美观. 那么,怎样调整终端分辨率呢 解决方案:修改引导程序配置 /boot/grub/gru ...
- 使用jvisualvm进行远程监控
1. 描述 jvisualvm是JDK自带的监控工具,位于JDK bin目录下面. 默认jvisualvm不能监控远程的JVM进程,需要进行一些配置. 2. 单独在应用上配置JVM启动参数 在Java ...