python的数据驱动】的更多相关文章

在接口自动化测试中,往往一个接口的用例需要考虑 正确的.错误的.异常的.边界值等诸多情况,然后你需要写很多个同样代码,参数不同的用例.如果测试接口很多,不但需要写大量的代码,测试数据和代码柔合在一起,可维护性也会变的很差.数据驱动可以完美的将代码和测试数据分开,将代码进行分装,提高复用性,测试数据维护在本地文件或数据库. 使用python做接口自动化,首要任务是搭建一个自动化测试框架,其中unittest+ddt是一个不错的选择,下文主要介绍ddt在unittest下的使用. ddt包含两个方法…
背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写. 资料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd.ddt: 装饰类,也就是继承自TestCase的类. ddt.data: 装饰测试方法.参数是一系列的值. ddt.file_data: 装饰测试方法.参数是文件名.文件可以是json 或者 yaml…
一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt实现数据驱动 二.测试代码 # encoding = utf-8 """ __title__ = '' __author__ = 'davieyang' __mtime__ = '2018/4/21' """ from selenium import webdriver import unittest import time import…
一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt模块使用json文件作为数据文件作为测试输入,最后生成html测试报告 二.json文件 [ "北京||北京","上海||上海","广州||广州","深圳||深圳","香港||香港" ] 三.ReportTemplate.py # encoding = utf-8 """…
下载ddt并安装 Pip install ddt 或者官网下载安装 http://ddt.readthedocs.io/en/latest/ https://github.com/txels/ddt DDT的使用 DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(可以从json或者yaml中获取测试数据) 只有yaml和yml结尾的文件以yaml形式上传,其他情况下默认为json 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有…
一.摘要 本博文将介绍Python和Selenium做自动化测试时,基于unittest框架,借助ddt模块,使用xml文件作为测试输入. 二.xml文件 保存路径:D:\\Programs\\Python\\PythonUnittest\\TestData\\TestData.xml 文件名:TestData.xml <?xml version = "1.0" encoding = "utf-8"?> <bookList type = "…
python代码如下: import unittestfrom openpyxl import load_workbookfrom openpyxl.styles import Fontfrom openpyxl.styles.colors import RED, GREEN wb = load_workbook(r"C:\Users\test\Desktop\q.xlsx")ws = wb.get_sheet_by_name('testData')rows = ws.max_row…
什么叫数据驱动? 登录用例 ->不用的用户名登录,但是自动化化脚本一样,虽然脚本相同,步骤相同,但是不同的用户名登录得出的数据是不一样的,于是就有了数据驱动,就是数据的改变驱动自动化测试的执行导致测试结果的不同. ->这个就是数据驱动,数据的改变从而驱动自动化测试的执行,可以理解为参数化的应用. unitest的数据驱动 和 pytest的数据驱动: unitest单元测试,无自带的数据驱动 pytest的数据驱动: parameterized做参数化 第一:ddt 由于unittest单元测…
下载ddt并安装 Pip install ddt 或者官网下载安装 http://ddt.readthedocs.io/en/latest/ https://github.com/txels/ddt DDT的使用 DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(可以从json或者yaml中获取测试数据) 只有yaml和yml结尾的文件以yaml形式上传,其他情况下默认为json 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有…
DDT是python的第三方库,全名称为:Data-Driven/Decorated Tests. ddt安装 通过pip安装ddt模块,安装Python后,Python自带pip功能包 切换到Python安装目录script下,执行:pip install ddt 在ddt的模块中,@data表示元组的列表数据,@unpack表示用来解压元组到多个参数,在使用的时候,导入ddt模块,在测试类前声明使用ddt(@ddt). 运行结果: 从示例代码中,可以看出test_case2执行了2次,分别验…
一.摘要 一般情况下我们为了更好的管理测试数据会选择将测试数据存储在Excel文件当中去,本节内容将展示给读者将测试数据存储在Excel文档中的案例. 二.创建存储测试数据的Excel 创建一个Excel文件TestData.xlsx,并将如下表格数据写入到Excel文件中,作为测试数据. 序号 搜索词 期望结果 1 北京 北京 2 上海 上海 3 广州 广州 三.封装解析Excel文件模块 要解析Excel文件,需要先给Python环境安装openpyxl模块,启动命令行,输入命令pip in…
一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt模块使用json文件作为数据文件作为测试输入,最后借助著名的HTMLTestRunner.py生成html测试报告 二.测试代码 # encoding = utf-8 """ __title__ = '' __author__ = 'davieyang' __mtime__ = '2018/4/21' """ from selenium i…
一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt模块使用mysql数据库为数据源作为测试输入 二.SQL脚本 # encoding create_database = 'CREATE DATABASE IF NOT EXISTS davieyang DEFAULT CHARSET utf8 COLLATE utf8_general_ci;' drop_table = 'DROP TABLE testdata;' create_table…
一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt模块使用xml文件作为数据文件作为测试输入 二.xml文件 <?xml version = "1.0" encoding = "utf-8"?> <bookList type = "technology"> <book> <name>selenium xml datadriven</na…
from ddt import ddt,data,unpackfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport time,unittest """测试类前加修饰@ddt.ddtcase前加修饰@ddt.data() 相同的测试用例@ddt.unpack 分解data的参数""" @ddtclass BaiduSearch(unittest…
import unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport unittest,timefrom parameterized import parameterized#安装 : pip install parameterized#数据驱动模型# ddt excel+ddt yaml+ddt txt+ddt#@unpack 表示用来解压元组到多个参数#应用:ui级别的自动…
import unittestfrom ddt import ddt,unpack,datafrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport unittest,time#数据驱动模型# ddt excel+ddt yaml+ddt txt+ddt#@unpack 表示用来解压元组到多个参数#应用:ui级别的自动化测试中可以实现编写一个测试用例实现多个不同的测试点验证#例如在163邮箱登录…
一.新建数据Mail163.txt文本 二.Txt_Mail163.py脚本如下: import unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport time#未封装的读取文本信息方法# with open('Mail163.txt', 'r', encoding='utf-8') as fp:# file = fp.readlines()# aa = ''.join(fi…
一.Mail163数据如下: 二.Excel+ddt代码如下: import xlrdimport unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom ddt import ddt,data,unpackimport time#安装:pip install xlrd#读取的数据存储在list表中def readExcels(): table = xlrd.open_workbo…
一.Mail163.xlsx数据如下: 二.Mail163.py脚本如下 import xlrdimport unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport time#安装:pip install xlrddef readExcel(nrow): '''读取Excel数据''' table = xlrd.open_workbook('Mail163.xlsx','r')…