顾名思义就是用数据做驱动,那么这里一些小白或刚学自动化到ddt或者pytest、testng里头的参数化csv、yaml、txt都理解为这就是数据驱动,其实都理解错了。在实际工作中数据驱动代表你用数据去控制你的测试流程、通过数据来去控制一个业务执行流程,可以理解为一个逻辑控制参数。
数据驱动自动化测试
在自动化测试框架中,从csv或excel或ymal读取数据、输出数据都在文件中执行,一个业务的实际返回值与业务的预期返回值都在数据文件中操作而不是在脚本里去执行校验,这时候数据文件和脚本驱动为数据驱动框架。
优点和缺点
1)优点: 1.解耦合、测试数据预期结果与脚本分开 2.对于业务的改版或字段的增删只需去修改脚本或者数据源 3.避免重复编写脚本数据 2)缺点: 1.随着业务量的增加、改版迭代次数快不方便维护 2.长时间可能会丢失数据 3.数据文件多、难以修改业务数据 关键字驱动 基于数据驱动之上建立的关键字驱动,从一个关键字的整合面对不同测试方法调用。从多个测试方法函数整合完成进阶的关键字驱动,从数据和关键字的组合达到一个关键字驱动的效果。
关键字自动化测试驱动
在关键字驱动框架中,你可以创建一些函数或者一些测试方法。从函数库中读取关键字然后做相关调用。这种自动化驱动模型主要核心由数据驱动引擎、组件函数、支持库和应用映射表组成。自动化测试首先由初始化脚本执行,这个脚本把高层测试表传递给高层驱动,高层驱动在处理这些表过程中,遇到中层驱动,中层处理也做中层处理。在底层处理时,尝试底层测试同步 ,关键字驱动是对数据驱动做改善。