Python 数据驱动 unittest + ddt】的更多相关文章

一数据驱动测试的含义: 在百度百科上的解释是: 数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程.数据驱动测试注重于测试软件的功能性需求,也即数据驱动测试使软件工程师派生出执行程序所有功能需求的输入条件. 在微软网站上的解释是: 数据驱动的单元测试是为数据源中的每一行重复运行的一种单元测试. 数据驱动的单元测试的常用情况是使用多个输入值测试 API…
1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_page import Login_Page from HTMLReport import logger import time def login(driver, username, password): """ 登录业务 :param driver:浏览器驱动 :param us…
一.Python数据驱动工具ddt 1.  安装 ddt pip install ddt DDT是 “Data-Driven Tests”的缩写 资料:http://ddt.readthedocs.io/en/latest/ 2.  DDT的使用 (1)   ddt.ddt: 装饰类,也就是继承自TestCase的类 (2)   ddt.data: 装饰测试方法.参数是一系列的值. (3)   ddt.file_data: 装饰测试方法.参数是文件名.文件可以是json 或者 yaml类型. 注…
DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(可以从json或者yaml中获取测试数据) 实例代码: import ddt import unittest test_data1 = [{"username": "zhangsan", "pwd": "zhangsan"}, {"username": "lisi", "pwd"…
ddt是一个unittest的插件,用来实现uniitest的数据驱动 本文以python自动化测试中的数据驱动为原则,记录学习ddt的过程 一.数据的传递规则…
# -*- coding:utf-8 -*- ''' @project: jiaxy @author: Jimmy @file: study_ddt.py @ide: PyCharm Community Edition @time: 2018-12-06 14:48 @blog: https://www.cnblogs.com/gotesting/ ''' ''' study_ddt : data driver test , 数据驱动测试 1. 结合单元测试去执行用例 2. 装饰器 3. 安装:…
前面写过python 之 unittest初探 和 python 之 unittest+ddt 两篇文章.在之前的文章中,写过可以再次优化.今天写第三篇的目的,就是在原有基础上,基于 openpyxl模块再次优化.在第二篇中,注意到测试数据与代码写在一起,实在是难以维护操作,而我们平时书写测试用例,记录测试数据,通常会使用excel文件或者csv文件.因此,本篇主要使用openpyxl模块对xlsx文件的操作,读取或者写入数据,做到测试数据与代码分离.这样子测试用例也非常便于维护. 基于书中的源…
1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 运行完后,重新生成一个excel报告,结果写入excel 用unittest+ddt数据驱动模式执行 HTMLTestRunner生成可视化的html报告 对于没有关联的单个接口请求是可以批量执行的,需要登录的话写到setUpclass里的session里保持cookies token关联的不能实…
可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://www.cnblogs.com/yoyoketang/p/8628812.html 原文地址https://www.cnblogs.com/yoyoketang/tag/python接口自动化/ 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址https://ww…
前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 运行完后,重新生成一个excel报告,结果写入excel 用unittest+ddt数据驱动模式执行 HTMLTestRunner生成可视化的html报告 对于没有关联的单个接口请求是可以批量执行的,需要登录的话写到setUpclass里的session里保持cookies token关联的…
背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写. 资料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd.ddt: 装饰类,也就是继承自TestCase的类. ddt.data: 装饰测试方法.参数是一系列的值. ddt.file_data: 装饰测试方法.参数是文件名.文件可以是json 或者 yaml…
# ddcapitestpython XXX接口自动化测试 # 一.数据驱动的思路 1.采用requests+unittest+ddt+xlrd+pymysql+BeautifulReport 2.requests是发起HTTP请求的第三方库 3.unittest是Python自带的单元测试工具 4.ddt是数据驱动的第三方库 5.xlrd是读取Excel的第三方库 6.pymysql是连接MySQL的第三方库 7.BeautifulReport是生成Html测试报告的第三方库 # 二.工程的目…
在开始之前,我们先来明确一下什么是数据驱动,在百度百科中数据驱动的解释是:数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程.数据驱动测试注重于测试软件的功能性需求,也即数据驱动测试使软件工程师派生出执行程序所有功能需求的输入条件.     这说的是什么?为什么我完全不懂!!!咱们来分析一下. 利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不…
import ddtimport unittest """ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file_data:会从json或yaml中加载数据: 通常data中包含的每一个值都会作为一个单独的参数传给测试方法,如果这些值是用元组或者列表传进来的,可以用unpack方法将其自动分解成多个参数."""test_data2 = [{"a": "1&qu…
知道ddt的基本使用方法之后,练习把之前用excel文件来维护的接口测试用例改用unittest+ddt来实现. 这里我选用yaml文件来管理接口参数,开始本来想用json,但是json无法添加注释,可读性不好. 1.向yaml文件中添加数据 下面截图是接口文档中的各个接口,每个接口都有一个固定的序号,所以在设计每个接口的测试数据时,以序号来区分不同接口 yaml文件内容如下,需要注意的是yaml的语法: (1)键值对用冒号分割,但是冒号后需要加一个空格 (2)禁止使用tab缩进,只能使用空格键…
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻.unittest框架学习需要掌握以下知识点: (1)Selenium原理及工具使用 (2)webdriver元素定位,id,name,class name,css seletor,xpath (3)python语言基础,模块,参数化,语言,装饰器 (4)unittest框架认识及学习:模块化,断言,参数化,数…
什么是UI自动化 自动化分层 单元自动化测试,指对软件中最小可测试单元进行检查和验证,一般需要借助单元测试框架,如java的JUnit,python的unittest等 接口自动化测试,主要检查验证模块间的调用返回以及不同系统.服务间的数据交换,常见的接口测试工具有postman.jmeter.loadrunner等: UI自动化测试,UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT.Robot Framework.Selenium.Ap…
单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情.虽然会很快熟悉内容,但是修改和 调试将是一件痛苦的事情,如果你在修改了代码后出现问题的话,而单元测试可以帮助我们很快准确的定位到问题的位置,出现问题的模块和单元.所以这是一件很 愉快的事情,因为我们知道其它修改或没有修改的地方仍然是正常工作的,而我们目前的唯一问题就是搞定眼前这个有点问题的“家伙”.所以工作会在轻松中开 始,并且很快将会结束,因为你已经知道很多信息了. 单元测试自然是对程序…
我们在使用Python的unittest做自动化或者单元测试时,有时需要一个测试用例根据不同的输入.输出组合而执行多次,但是,unittest中一个用例只能有一组参数组合执行,如果采用循环的方式,在生成的测试报告中也只会有一个测试用例的统计,单实际上我们需要一组参数就统计为一个测试用例,又或者将用例复制N份(这种方式谁然可以满足需求,单实际上维护太麻烦,如果有一个改动,需要复制N份),那么我们应该采用什么样的办法来实现我们的需求呢?经过查找资料和百度,我们可以采用Python的setattr函数…
老李分享:开发python的unittest结果输出样式   Python的unittest结果命令行输出,格式比较乱.为了提高格式输出的可读性,实现可以不同的颜色标识.所以准备扩展Python的unittest模块. 首先,unittest默认命令行输出结果如下.(两个测试案例,一个通过,一个不通过). import unitest class FooTest(unittest.TestCase): def setUp(self): self.a = 1 def testPass(self):…
单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情.虽然会很快熟悉内容,但是修改和调试将是一件痛苦的事情,如果你在修改了代码后出现问题的话,而单元测试可以帮助我们很快准确的定位到问题的位置,出现问题的模块和单元.所以这是一件很愉快的事情,因为我们知道其它修改或没有修改的地方仍然是正常工作的,而我们目前的唯一问题就是搞定眼前这个有点问题的“家伙”.所以工作会在轻松中开始,并且很快将会结束,因为你已经知道很多信息了. 单元测试自然是对程序中最小…
在利用单元测试框架执行测试用例的过程中,有时只需要执行一部分用例,或者跳过某些暂不需要执行的用例,python的unittest框架就内置这样的功能. 前面的博客介绍了unittest框架的测试用例加载和批量执行的内容,這篇博客,介绍下在unittest框架中,如何跳过预期的测试用例... 1.unittest.skip()方法 跳过测试和预期失败的功能,是python3.1版本开始,出现的新功能.unittest支持跳过单个测试用例甚至整个测试类. skip()的各个方法说明如下: 方法 说明…
python的unittest好处是通过python脚本编写用例,每个用例可以单独调试初始化和清理动作,因为都是用例都是代码所以调试起来也很方便:它的缺点是得先学会python,难易程度见仁见智吧,对于我来说那些用excel来写测试用例的框架,我看到里面的用例头都大,还不如看代码来的简单呢. #!/usr/bin/env python # -*- coding: utf-8 -*- import os,sys import time import datetime import unittest…
前言 编写函数或者类时,还可以为其编写测试.通过测试,可确定代码面对各种输入都能够按要求的那样工作. 本次我将介绍如何使用Python模块unittest中的工具来测试代码. 测试函数 首先我们先编写一个简单的函数,它接受姓.名.和中间名三个参数,并返回完整的姓名: names.py def get_fullname(firstname,lastname,middel=''): '''创建全名''' if middel: full_name = firstname + ' ' + middel…
一.unittest简介 unitest单元测试框架最初是有JUnit的启发,它支持测试自动化,共享测试的设置和关闭代码,将测试聚合到集合中,以及测试与报告框架的独立性. 二.unittest相关概念 TestFixture:表示测试一个或多个测试的时候,需要的一些相关动作,比如,创建临时或代理数据库,目录或启动服务器进程.测试代码的这种工作环境称为夹具.TestCase(测试用例):就是测试的各个单元,他检查对特定输入集的特定响应,unitest提供了一个基类,TestCase用于创建新的测试…
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py >test_case >__init__.py >test_case1..... >public >__init__.py >login.py >loginout.py test_case文件夹主要存放测试用例,且测试用例命名以test_开头 public文件夹是test…
[python's unittest] unittest supports some important concepts: 从上图可以看到,unittest中的test-case.test-suit概念和一般的unittest中的内容没有区别. 下面给出编写单元测试的示例: 编写要点: 1.继承自unittest.TestCase. 2.setUp.tearDown就是所谓的fixture. 3.测试函数以test开头. 开启测试: The TestCase class provides a…
转自:http://blog.csdn.net/five3/article/details/7104466 单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情.虽然会很快熟悉内容,但是修改和调试将是一件痛苦的事情,如果你在修改了代码后出现问题的话,而单元测试可以帮助我们很快准确的定位到问题的位置,出现问题的模块和单元.所以这是一件很愉快的事情,因为我们知道其它修改或没有修改的地方仍然是正常工作的,而我们目前的唯一问题就是搞定眼前这个有点问题…
正常情况下windows的命令行执行python脚本命令: python 脚本名.py 我这样做了,看截图可以看到,并没有期待中那样有一堆高大上的信息输出,反而毛都没有!!!! 于是,我想起了度娘,但是她并没有给我鱼,甚至连渔都没给我!!!! 经过一番折腾,回到了起点... 最后! 在pycharm的输出中找到了答案应该使用命令: python -m unittest 脚本名.py 结果如下:…
python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限,工具也不能很好的生成可视化的报告和结果数据,使用代码来进行接口测试就便于进行更多的拓展和结果输出. 首先安装Requests库(需要安装好python环境)在cmd窗口运行如下命令: pip install requests requests功能特性Requests 完全满足今日 web 的需求.…