1、什么是数据驱动?

数据驱动测试,即黑盒测试,又称为功能测试

数据驱动单元测试为数据源中的每行重复进行一种单元测试,而不是通过for循环每行去重复测试一条数据

数据驱动单元测试,常用情况是使用多个输入值测试API

扩展介绍:

“多个输入值测试API”就是要测试的内容可能会有多个值有A、B、C两个或三个参数去测试被测的功能,如测试一个搜索功能,搜索框里面可以输入N多个数据作为查询的参数,多个数据就有一个相同的特点就是数据不动但是整个执行搜索过程完全一样的,在这种情况下就可以复用整个搜索过程,只需要每次变换不同的输入值就可以。

for循环和数据驱动单元测试最大的区别:for循环最终完成执行之后得到一个结果可能是一条用例多条数据这样一个测试结果,而数据驱动可以让每条数据独立的成为一条单元测试用例

2、DDT的原理是什么?

Python下的数据驱动框架名称也叫DDT(Data-Driven Tests)

效果:使用多个数据运行一条用例,使其表现为多条用例

原理:通过Python的装饰器,装饰每条用例

3、数据驱动测试的意义?

代码复用率高,一次编写多条数据复用逻辑

异常排查效率高,测试执行隔离,数据间无影响

代码可维护性高,提高代码的易读性

4、如何使用DDT测试搜索功能?

模拟在网址中搜索不同关键字

# _*_ encoding:utf-8 _*_
import unittest
from appium import webdriver
from ddt import ddt, data
import time@ddt    # 数据驱动是基于unittest之上做的进一步实现
class MyTestCase(unittest.TestCase)# 初始化def setUp(self):desired_caps = {}desired_caps['platformName'] = "Android"desired_caps['platformVersion'] = "5.1"desired_caps['deviceName'] = "192.168.56.102:55555"desired_caps['browserName'] = "Browser"desired_caps['unicodeKeyboard'] = "True"desired_caps['resetKeyboard'] = "True"self.driver = webdriver.Remote('http://localhost:4721/wd/hub', \desired_caps)# 释放资源def tearDown(self):self.driver.quit()# 被测数据值,自动变成两条测试用例@data(u"Android 专项测试 Python篇", u"Javascript") def test_searchkeyword(slef, keyword):# 打开首页self.driver.get("http://www.imooc.com")# 等待加载完成time.sleep(3)# 定位输入框input = self.driver.find_element_by_xpath("/html/body/header/div/form/div/input")# 输入关键字input.send_keys(keyword)# 定位搜索按钮button = self.driver.find_element_by_xpath("/html/body/header/div/form/div/div/button")# 点击搜索button.click()# 等待页面加载完成time.sleep(3)# 定位搜索结果的首条result0 = self.driver.find_element_by_xpath('//*[@id="pages-container"]/div/div[1]/dl/dd[1]/a/div/p[1]' )# 验证包含关键字self.assertTrue(keyword in result0.text)if __name__ = "__main__":suite = unittest.TestSuite()cases = unittest.TestLoader().loadTestsFromTestCase(MyTestCase)suite.addTests(cases)myTestRunner = unittest.TextTestRunner(verbosity=2)myTestRunner.run(suite)

自动化测试框架之DDT-数据驱动相关推荐

  1. 基于Python的接口自动化unittest测试框架和ddt数据驱动详解

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...

  2. 【python做接口测试的学习记录day9——pytest自动化测试框架之yaml数据驱动封装】

    之前我们的框架中,如果有多个测试用例,则需要在yaml文件中写入多个用例,而每个用例可能不同的仅仅只是个别参数值,这就导致很多重复代码,现在我们使用数据驱动就可以解决这个问题了. 我依旧采用之前的登录 ...

  3. Python3+Selenium3+Unittest+ddt+Requests 接口自动化测试框架

    为何选择代码框架进行接口测试? 本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试 ...

  4. python接口自动化测试框架实战从设计到开发_Python接口自动化测试框架实战 从设计到开发...

    第1章 课程介绍(不要错过) 本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用 本章重点讲解如何抓app\web的h ...

  5. 自动化测试框架的一些建议

    源地址:http://www.automationqa.com/forum.php?mod=viewthread&tid=441&extra=page%3D1 以下是自动化测试框架的建 ...

  6. Python接口自动化测试框架

    本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用 ...

  7. python_接口自动化测试框架

    本文总结分享介绍接口测试框架开发,环境使用python3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用HTMLTestRu ...

  8. Unittest自动化测试框架教程(四)——Python中的数据驱动测试DDT

     " 数据驱动测试DDT(Data Drivern test),是自动化测试领域优势中亮眼的闪光点,在unittest测试框架中对数据驱动更是提供了强大的支持,文章通过基础概念的引入,介绍了 ...

  9. 基于python的界面自动化测试-基于python的接口自动化测试+ddt数据驱动

    在测试接口时,一个接口会先写好测试用例,这个用例主要针对功能,传入参时考虑到各种场景,正常的,异常的,如:参数缺省,参数传一个六位数字写用例时考虑边界情况等. 一个接口设计用例时有可能会十几条到几十条 ...

  10. ui自动化测试框架_数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索

    谢谢打开这篇文章的每个你 关注我们 点击右上角 ··· 设为星标 UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo ...

最新文章

  1. 一道面试题:用多种方法实现两个数的交换
  2. UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
  3. 剑桥少儿英语预备级教案(上) unit15 I can draw it.
  4. 【开发技术】java中代码检查checkStyle结果分析
  5. Kaggle知识点:数据分布不一致的验证
  6. SQL SERVER 2008 中分页方法
  7. Reg“.NET研究”exOptions.Compiled的含义和使用
  8. java的joptionpane空白_java – JOptionPane无法正确显示?
  9. php红盟,php教程_CI框架源码完全分析之核心文件URI.php
  10. 计算面积的计算机软件,多边形面积算法和填充法开发等轴晶比例计算专用软件-软件工程论文-计算机论文.docx...
  11. 程序设计语言的特性——心理特性、工程特性、技术特性
  12. 基于Matlab交流异步电机矢量控制系统仿真建模
  13. python实现模拟身份验证服务器综合系统设计
  14. HA 高可用软件系统保养指南
  15. 罗杨美慧 20190919-5 代码规范,结对要求
  16. scratch课程设计
  17. UNIX环境高级编程——1.UNIX基础知识
  18. 着色 Shading
  19. 推荐系统中的pointwise和pairwise区别
  20. 基本的安全和HTTP认证

热门文章

  1. 中山联禾科技推出永宏FB PLC数据采集模块
  2. 低电平中断和下降沿中断的区别
  3. PHP 权威资料/网站/社区 - 收集
  4. PDF版图纸能不能转CAD
  5. centos安装gedit
  6. Tomcat日志切割cronolog
  7. 自然语言处理(一)句法分析, 乔姆斯基范式CYK+PCFG的短语结构
  8. Windows10运行安卓模拟器蓝屏解决方法
  9. 香港旅游必去景点TOP10
  10. 浅谈学校OA办公系统实施的必要性和可行性