首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏muller的测试分享

    软件测试|Yaml实现测试数据驱动

    图片理念与同“UI自动化测试框架”中的“测试步骤的数据驱动”相同,接口中的测试步骤的数据驱动就是将接口的参数(比如 method、url、param等)封装到 yaml 文件中管理。 当测试步骤发生改变,只需要修改 yaml 文件中的配置即可。数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。简单来说,就是参数化的应用。 数据量小的测试用例可以使用代码的参数化来实现数据驱动数据量大的情况下建议使用一种结构化的文件(例如yaml,json等)来对数据进行存储,然后在测试用例中读取这些数据。 原理与前面章节“UI自动化测试框架”中的“测试数据数据驱动”大同小异。依然使用 @pytest.mark.parametrize 装饰器来进行参数化,使用参数化来实现数据驱动。 从文件中读取出代码中所需要格式的数据,传递到测试用例中执行。本次实战以YAML进行演示。YAML以使用动态字段进行结构化,它以数据为中心,比 excel、csv、Json、XML 等更适合做数据驱动

    1.1K20编辑于 2023-01-04
  • 来自专栏测试开发架构之路

    Python Pytest数据驱动测试DDT

    前言 数据驱动测试是自动化测试非常重要的原则。一般进行接口测试时,一般会考虑正向、逆向等多种组合case,而这些case除了传参和预期不同外,其实并没什么区别。 这个时候就可以利用数据参数化原则来管理测试数据,提高代码复用率。本文介绍两种常用的数据参数化方法。 ddt - 基于unittest框架 pytest.mark.parametrize ddt ddt 库提供两种重要的数据装配方法。data和file_data装饰器。 def test_basic_005(self, a, b, expect): assert a + b == expect file_data 方法装饰器,将从YAML文件加载测试数据 print(user) assert user == 'xiaohua' assert pwd == 111111 # 多参数 堆叠装饰器, 求笛卡尔积,有四组数据

    1.2K10编辑于 2022-08-01
  • 来自专栏测试工程师成长之道

    JMeter接口测试数据驱动

    Jmeter接口测试数据驱动 一. 背景 数据驱动Data Driven Testing(DDT),是一种用于创建自动化测试的方法,或者说是一种架构, 本质是输入数据和用这些数据获取测试结果, 使测试逻辑和测试数据分离. DDT的优点是测试工程师不必为每一个输入数据创建一个单独的测试用例, 测试在一个实例中创建, 并且输入测试数据和预期结果在表格文件中获取. 二. Jmeter 数据驱动 1.首先创建url.csv文件作为输入测试数据, 内容如下: ? 3.在该线程组下创建一个普通http请求, 命名为postman-echo_header, 用于和数据驱动比较 ? 4.添加一个循环控制器 ?

    1.3K10发布于 2019-07-25
  • 来自专栏测吧测试开发

    接口测试框架实战(五) | 测试数据数据驱动

    本文节选自霍格沃玆测试学院内部教材,文末链接进阶学习! 数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。简单来说,就是参数化的应用。 数据量小的测试用例可以使用代码的参数化来实现数据驱动数据量大的情况下建议使用一种结构化的文件(例如 YAML,JSON 等)来对数据进行存储,然后在测试用例中读取这些数据。 参数化实现数据驱动 参数化数据驱动原理与之前分享的 接口测试框架实战(二) | 搞定多环境下的接口测试 大同小异。 也就是 pytest 会将两组测试数据自动生成两个对应的测试用例并执行,生成两条测试结果。 YAML 文件实现数据驱动实战 当测试数据量大的情况下,可以考虑把数据存储在结构化的文件中。 YAML 以使用动态字段进行结构化,它以数据为中心,比 Excel、csv、JSON、XML 等更适合做数据驱动

    1.2K22发布于 2020-10-15
  • 来自专栏Python自动化测试

    Python接口测试数据驱动(二十)

    在接口的自动化测试中,客户端发送请求给服务端,在客户端发送请求的时候,包含了请求地址,请求方法,以及请求参数等数据,那么在接口的自动化测试中如何来分离这些请求地址和请求参数了,最好的方式是以数据驱动的方式分离到 现在来编写读取excel中的数据,主要思路为读取excel的数据后,把数据类型转为字典的数据类型,并且是按行的方式读取,实现的代码: #! 在截图中可以看到,数据类型是列表,并且返回了所有的数据,再次编写函数,返回XX行的请求地址和请求参数,在excel中,存在的共同点是不管数据是在那一行,第二列永远是请求地址,第三列是请求参数,编写获取请求地址和请求参数的函数 self.assertEqual(r.json()['status'],0) if __name__ == '__main__': unittest.main(verbosity=2) 下来使用数据驱动的方式把请求地址和请求参数分离出来 问题在于数据分离后,test_login_002的测试用例请求数据与登录成功后的token不一致,导致了错误,那么如何对这些动态参数进行处理了,处理的思路是: 从excel中读取数据 对如token这些动态参数再次进行赋值

    1.1K41发布于 2018-10-25
  • 来自专栏搁浅测试同学小分享

    python-unittests数据驱动测试(ddt)

    对于一个接口测试用例有很多条,就会对应有很多组数据,目前的做法是一组数据,一个test函数。 这样子代码很多重复冗余,最后我把它进行了升级,把测试数据全部都填写在Excel表格里面,然后读取处理一个list,再通过ddt传递给test函数,这样子一个test函数就可以处理很多组数,下面来说一下这个 一、环境准备 安装ddt模块,通过pip命令安装,打开cmd命令 二、ddt数据驱动测试原理 ddt主要通过@data(数据类型),@upack这两个装饰器进行数据的传递给测试函数,废话不多说。 def tearDown(self): pass if __name__ == '__main__': unittest.main() ddt的使用大概就是这样,如果需要把接口测试数据填写在 Excel表格里面,则需要通过xlrd等库读取出来作为1个list,然后通过ddt就可以完成了,数据驱动测试了。

    74410编辑于 2022-07-21
  • 来自专栏公众号-测试驿栈

    Jmeter(二十六)_数据驱动测试

    花了一点时间做了一个通用的执行引擎,好处就是我不用再关注测试脚本的内容,而是用测试用例的数据驱动我们执行的方向。(这个只适合单个接口的测试,具体运用到接口自动化时,还是要靠手动去编写脚本!) 首先我们要有一个接口测试用例存放的地方,我们这里用EXCEL模板管理,里面包含用例编号、入参、优先级、请求方式、url等等。   2:jmeter中添加 CSV Data Set Config 读取测试用例。填入csv文件路径与参数名称 ? ? 3:添加如果控制器,对用例优先级进行筛选执行  "${priority}"=="H"表示仅执行优先级为H的用例   龙渊阁测试:317765580 ? 5:添加 http sample 来执行用例   龙渊阁测试:317765580 ? 6:将循环控制器的循环次数设置为永远 ? 7:执行一下,查看结果,一共执行了五条用例。 ?

    1.2K30发布于 2018-08-31
  • 来自专栏自动化测试实战

    Jmeter性能测试 -3数据驱动实战

    什么是数据驱动? 从数据文件中读取测试数据驱动测试过程的一种测试方法。数据驱动可以理解为更高级的参数化。 特点:测试数据测试代码分离;数据控制过程 好处:降低开发和维护成本,减少代码量,便于用力修改和维护 Jmeter数据驱动实战 环境 我在本地搭建了数据库【如果不会可以留言,我再出搭数据库的帖子】 可以看到,我在连接数据库的url上添加了 ? 然后添加JDBC Request,对movies表进行查询 执行可以看到结果树中输出了数据库查询到的数据 我们做如下需求:如果year>=2016,就说它是新电影,否则就判断为老电影。 ,生成了{__V(rows_{count},)},把它放到如果控制器判断里即可 结构目录 执行后就看到 而且在控制台输出了3个 当然除了读数据数据数据驱动还可以写Excel读,那就不需要循环控制器了

    60210编辑于 2022-04-12
  • 来自专栏ceshiren0001

    Playwright数据驱动测试:从Excel与JSON获取测试数据指南

    如果你还在为每个测试用例硬编码数据而头疼,或者每次数据变更都要翻遍几十个测试文件——是时候了解数据驱动测试了。 今天,我们聊聊如何用 Playwright 优雅地从 Excel 和 JSON 文件中读取测试数据,让你的测试代码真正实现“一次编写,到处运行”。为什么需要数据驱动测试?先看个反例。 每增加一个测试账户,就要复制粘贴一整段代码。当密码策略变化时,你得修改所有相关测试文件。这种维护成本,你懂的。而数据驱动测试的思想很简单:分离测试逻辑与测试数据。 }总结数据驱动测试不是银弹,但它是提升测试代码可维护性的重要手段。 最后提醒一点:数据驱动测试虽然好,但不要过度设计。简单的、不会频繁变化的测试数据,直接写在代码里也许更合适。找到适合你项目的平衡点,这才是真正的工程智慧。

    14111编辑于 2026-01-10
  • 来自专栏全栈程序员必看

    自动化测试 数据驱动(自动化测试解决数据错误)

    数据驱动测试数据测试行为完全分离,实施数据驱动测试步骤如下: A、编写测试脚本,脚本需要支持从程序对象、文件或者数据库读入测试数据; B、将测试脚本使用的测试数据存入程序对象、文件或者数据库等外部介质中 ; C、运行脚本过程中,循环调用存储在外部介质中的测试数据; D、验证所有的测试结果是否符合预期结果; 1、使用unittest和ddt进行数据驱动: #-*- coding: UTF-8 -*- from ,如果每组数据存在多个,需要将每组数据存于列表中;最后使用@unpack 进行修饰,对测试数据解包,传参; 2、使用JSon存储数据实现数据驱动测试数据存储:test_data_list.json中 如果@ddt.data()中传的是一个方法,方法前需要加型号(*)修饰; 4、使用xml进行数据驱动测试: 在pycharm中创建一个项目,创建TestData.xml文件用于存放测试数据,具体内容如下 (self): self.driver.quit() if __name__ == '__main__': unittest.main() 5、使用MySQL数据库记性数据驱动测试

    90610编辑于 2022-08-02
  • 来自专栏测吧测试开发

    UI 自动化测试实战(二)| 测试数据数据驱动

    数据驱动就是通过数据的改变驱动自动化测试的执行,最终引起测试结果的改变。简单来说,就是参数化在自动化测试中的应用。 测试过程中使用数据驱动的优势主要体现在以下几点: 提高代码复用率,相同的测试逻辑只需编写一条测试用例,就可以被多条测试数据复用,提高了测试代码的复用率,同时提高了测试代码的编写效率。 测试数据数据驱动 数据量小的测试用例可以使用代码的参数化来实现数据驱动数据量大的情况下建议大家使用一种结构化的文件(例如 YAML,JSON 等)来对数据进行存储,然后在测试用例中读取这些数据。 参数化实现数据驱动 Pytest 提供了 @pytest.mark.parametrize 装饰器来进行参数化,可以使用参数化来实现数据驱动。 也就是 Pytest 会将两组测试数据自动生成两个对应的测试用例并执行,生成两条测试结果。 使用 YAML 文件实现数据驱动测试数据量大的情况下,可以考虑把数据存储在结构化的文件中。

    71410编辑于 2022-05-06
  • 来自专栏啄木鸟软件测试

    数据交互驱动测试方法探索与实践

    ,本文提出一种数据交互驱动测试的方法和经验,通过阐述数据交互的不同测试对象对应的具体测试方法和测试通过准则,为后续数据交互类测试工作提供借鉴和参考。 与传统的页面级-功能级-流程级的测试方法不同,数据报送系统测试更关注于交互数据流程测试、交互数据质量和交互数据的时效性测试。 二、数据交互驱动测试方法   针对以上挑战,结合以往项目测试方法,本文提出了一种数据交互驱动测试方法(如图1所示),该方法着眼于系统数据交互测试,按照测试对象的不同进行分类,明确测试方法和测试通过准则, 图1 数据交互驱动测试方法   数据交互驱动测试以每轮测试为线,被测程序运行为点,依据运行前中后测试对象的差异,将测试分为运行前的设计测试、运行中的运行测试和运行后的产物测试三阶段。 具体测试可以包括:文件名规范测试数据类型测试、已确定校验规则测试、各时点数据报送约束测试、各时点数据空值约束测试、各时点数据项特性约束测试、字典表规范测试

    1.1K20发布于 2021-03-19
  • 来自专栏FunTester

    数据驱动自动化测试

    在自动化测试中,经常会听到一个词数据驱动,大意是讲通过测试数据驱动自动化用例的执行。 其他相关的内容相信已经耳熟能详了,这里不多说,今天给大家分享一个次叫做无数据驱动,主要思路就是尽量取消在测试用例中的数据引入,把主要的测试数据的维护放在自动化测试用例以外,节省成本的同时提高用例的健壮性 无数据驱动自动化测试的目标就是,通过测试用例最小量的数据引入,编写无限运行的测试用例,以降低维护工作量。 下面分享一个案例,以某一个商品售卖接口以及相关接口组成的一条测试用例。 然后这个driver对象,是该用例类的基础驱动对象,也是一个模块类的对象,用于完成改模块的接口调用,因为当前类就是该模块的用例类,所以做了一个公共的类static对象。 最后通过之前保存的对象和数据信息进行业务的判断。 当然所有的用例都需要进行setup和setdown,这个用例需要维护的数据有几项,下面分享一下我的处理方案。

    55120发布于 2021-01-05
  • 来自专栏测吧测试开发

    Python 自动化测试(四):数据驱动

    本文节选自霍格沃玆测试学院内部教材,文末链接进阶学习。 在实际的测试工作中,通常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件质量。 这种测试,在功能测试中非常耗费人力物力,但是在自动化中,却比较好实现,只要实现了测试操作步骤,然后将多组测试数据数据驱动的形式注入,就可以实现了。 数据测试用例分别管理,可以利用外部数据源 YAML、JSON、Excel、CSV 管理测试数据。 安装 pip install PyYAML 案例 创建用例文件以及数据文件来完成数据驱动测试案例,创建一个文件夹 testdata,在这个文件夹下创建 data.yml 和 test_yaml.py 以上,pytest 组合 YAML 实现数据驱动,YAML 文件作为用例数据源,控制测试用例的执行,使测试用例数据维护更加方便快捷。

    1.1K20发布于 2020-10-28
  • 来自专栏啄木鸟软件测试

    使用“数据驱动测试”之前应该知道的

    来源:http://www.uml.org.cn 什么是数据驱动测试? 从它的定义来看,就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。说的直白些,就是参数化的应用。 ? “他们”认为数据驱动什么样子? 这里以csv文件为例,大多文章也是选用的csv/excel文件。 参数、断言、结果都有了,大概就这样子吧? 接下来需要将数据读取出来。 以下,我将介绍基于单元测试框架的数据驱动。 单纯读取数据文件来做自动化是有诸多问题的。那么我们借助单元测试框架来做自动化就爽多了,因为它解决了测试中的几问题。 可是,这没有用到读取数据文件啊?不是,数据驱动啊? 我以为这么规范的编写测试用例,要啥自行车。 其实,我已经尽量的把登录操作做了封装,每条用例里面只关心登录的数据和结果的断言。 谁告诉你“数据驱动”就必须要“读取数据文件”的? 我们继续引入unitest的参数化。

    86910发布于 2019-12-11
  • 来自专栏赖权华的笔记

    Python+Selenium笔记(十二):数据驱动测试

    (一)   前言 通过使用数据驱动测试,实现对输入值和预期结果的参数化。 (例如:输入数据和预期结果可以直接读取Excel文档的数据) (二)   ddt 使用ddt执行数据驱动测试,ddt库可以将测试中的变量参数化。 使用ddt的时候,在测试类上使用@ddt装饰符,在测试方法上使用@data装饰符。@data装饰符将参数当作测试数据,参数可以是单个值、列表、元组、字典。 使用下面的命令安装ddt库 pip install ddt (三)   通过Excel获取数据 读取Excel文件,需要用到xlrd库。 代表读取第1列及后面所有列的数据) 15 #读取数据的时候,我们一般说的第一行、第一列,索引都是0 16 #所以r_idx=1的时候,读取的其实是excel第二行的数据

    1.7K70发布于 2018-04-27
  • 来自专栏用户7466307的专栏

    什么是数据驱动测试?学习创建框架

    数据驱动测试 数据驱动测试是一种软件测试方法,其中测试数据以表或电子表格格式存储。数据驱动测试允许测试人员输入单个测试脚本,该脚本可以对表中的所有测试数据执行测试,并期望测试输出在同一表中。 也称为表驱动测试或参数化测试。 ? 数据驱动框架 数据驱动框架是一个自动化测试框架,在该框架中,从数据文件中读取输入值并将其存储到测试脚本中的变量中。 它使测试人员可以将肯定和否定测试用例都构建到单个测试中。数据驱动框架中的输入数据可以存储在单个或多个数据源中,例如.xls,.xml,.csv和数据库。 ? ? 为什么要进行数据驱动测试? : 下面给出的是数据驱动测试的最佳测试实践: 理想的是在数据驱动测试过程中使用真实的信息 测试流程导航应在测试脚本中编码 利用有意义的数据驱动虚拟API 使用数据驱动动态断言 测试正面和负面结果 重新利用数据驱动功能测试的安全性和性能 数据驱动测试的优势 数据驱动具有许多优点,其中包括: 允许在回归测试期间使用多组数据测试应用程序 测试数据和验证数据只能组织在一个文件中,并且与测试用例逻辑分开

    3K30发布于 2020-09-22
  • 来自专栏啄木鸟软件测试

    数据驱动开发软件测试脚本

    下面分享数据驱动开发软件测试脚本。 一个注册页面,需要填写下面4项:账号、密码、手机和Email。 账号(唯一,支持字母、数字,长度5-20)。 self.execute_query("DELETE FROM password") self.execute_query("DELETE FROM user") #用于测试之前插入数据 (如setup测试场景) #默认数据 #username=Config.VALID_USERNAME #password=Config.VALID_PASSWORD def 错误数据封装在字典类型MESSAGES变量中。 2.对GUI脚本优化 GUI测试用例如下。 GTC-001-账号有效性测试:输入有效账号(5-20位字母或数字),预期结果,显示:"注册成功"。 之间').is_visible() if __name__=="__main__": pytest.main(["-sv", "Test_Register_GUI_1.py"]) 下面,我们仍对测试数据参数化

    26100编辑于 2025-06-06
  • 来自专栏AI SPPECH

    AI驱动测试策略优化:从数据中发现测试价值

    随着AI技术的发展,测试策略优化迎来了新的机遇。AI驱动测试策略优化通过分析大量的测试数据、代码数据、用户数据等,帮助测试团队发现测试的价值所在,优化测试资源分配,提高测试效率和效果。 AI优势 数据驱动/资源优化/效率提升/价值明确 你最期待AI解决哪方面的测试策略问题? 学习路径 概念、方法、工具、实践、案例 准备好学习AI驱动测试策略优化了吗? AI驱动测试策略优化 = 数据收集 + 数据分析 + 模型训练 + 策略生成 + 策略执行 + 效果评估 + 持续优化 2.2 AI驱动测试策略优化的工作流程 AI驱动测试策略优化的基本工作流程包括: :培养团队的数据驱动文化,鼓励基于数据的决策 持续学习和创新:持续学习和探索最新的AI技术和测试策略优化方法 8.4 未来发展趋势 AI驱动测试策略优化的未来发展趋势主要包括: 中心: AI驱动测试策略优化未来 参考资料 《AI驱动测试策略:从数据中发现价值》,张晓明,2023 《机器学习在测试资源优化中的应用》,李强,2022 《测试策略优化:原理与实践》,王强,2021 《数据驱动测试管理》,刘伟,2022

    32110编辑于 2025-11-13
  • 来自专栏全栈测试开发日记

    Python 接口测试之ddt数据驱动番外篇

      引言   前面我分享过一篇关于接口测试数据驱动方面的文章,文章是使用python第三方库ddt来进行数据驱动的。那如果没有这个库,我们不使用这个库,将如何进行数据分离呢?有没有思考过?    其实也是可以的,简单粗暴的方式利用excel存储测试数据,对常规操作的功能进行封装,也是可以搭建一套数据驱动的框架。    代码实现   这种设计方式的话,测试结果需要手动统计,然后写入邮件内容中发送出去。因为没有使用unittest框架,所以无法使用框架自带的html报告。 总结   以上就是不使用ddt和unittest框架,仅仅使用python基础代码来搭建的测试框架,并且实现了数据驱动,效果和使用ddt是一样的。 希望这篇文章能帮助你学习接口测试,另外,对测试开发,自动化测试,全栈测试相关技术感兴趣的朋友,可以加入到群里学习和探索交流,进群方式,扫下方二维码。

    54020编辑于 2023-02-02
领券