数据驱动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. ...
随机推荐
- memcahce 介绍以及安装以及扩展的安装
简单介绍: memcache是一个高性能的分布式的内存对象缓存系统.通过在内存里维护一个巨大的hash表. 守护进程名: memcached 端口号: 单进程 依赖 libevent 安装memcac ...
- SecureCRT 常用配置
1.SecureFx 中文乱码,应设置成utf-8编码了,依旧乱码 在 C:\Users\root\AppData\Roaming\VanDyke\Config\Sessions 下找到对应的sess ...
- Web中路径问题
如果在web项目中需要使用路径,如:转发.重定向还有超链接等. 原则:”一切web路径以/开始” 那么/的路径一定是相对路径,那么/到底代表哪一个相对路径是需要智慧的. 如果该路径是给服务器使用的,那 ...
- python --循环对象
转自:http://www.cnblogs.com/vamei/archive/2012/07/09/2582499.html 这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本 ...
- C#:消息框
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- 报错 System.ComponentModel.Win32Exception:拒绝访问,如何以管理员身份调试应用程序
打开程序集的属性窗口,找到“安全性”设置,其中有一个“启用 ClickOnce 安全性设置”,勾选后再反勾选该复选框. 此时在解决方案资源管理器中,就可以找到 app.manifest 文件,勾选“启 ...
- unity, Root Motion
(引自:http://tieba.baidu.com/p/4323644080) 然后详细看了下这个文档:http://docs.unity3d.com/Manual/RootMotion.html ...
- unity, 查看资源文件类型
- Spring Cloud(八):分布式配置中心服务化和高可用
在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息.这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,serve ...
- IOS基于XMPP协议开发--XMPPFramewok框架(二):服务器连接
连接服务器前需准备事项: 1.搭建好XMPP服务器 2.设置服务器地址和端口 [_xmppStream setHostName:@"127.0.0.1"]; [_xmppStrea ...