首页 > 其他分享 >数据驱动测试

数据驱动测试

时间:2023-04-20 16:55:45浏览次数:28  
标签:脚本 data 测试 驱动 login 数据

数据驱动测试老话题了,最近让同时写单接口自动化校验。但是结果不是我预期的,这里再普及一下数据驱动测试

数据驱动的特点:

数据驱动是指在脚本固定的情况下,根据数据的条数来决定脚本的运行次数,即有几组数据,脚本就会
运行几遍。也具有将测试数据和测试用例分离特点

数据驱动的优点:

  • 修改测试数据,而不影响测试脚本
  • 可通过修改数据(而不是测试脚本)来添加新测试用例

数据驱动适合场景:

当你写自动化用例的时候发下很多用例的操作步骤都非常的相似,只是测试数据不同时,我们就需要考虑如何节省一些代码量,不要重复Ctrl C+V了。这个时候就非常适合采用数据驱动测试了。非常鲜明的例子就是:单接口自动化测试。

基于pytest的数据驱动:

原始登录测试用例代码:

class TestMachine:
    def test_001(self):
        login(name1,pass1)
        
    def test_002(self):
        login(name2,pass2)

采用数据驱动:

pytest.mark.parametrize('data', all_list)
class TestMachine:

    def test_login(self, data):
		login(data['name'],data['pass'])

all_list = [{name:'小王','pass':'123'},{name:'小李','pass':''}]

这里参数可以是从csv\excel\yaml\json读取,也可以写在代码中但是需要注意和脚本分开。

和数据驱动一样的还有一个BDD(行为驱动)请大家自行了解

标签:脚本,data,测试,驱动,login,数据
From: https://www.cnblogs.com/tarzen213/p/17337402.html

相关文章

  • 这个df数据怎么才能获取到最新的调薪时间,就是薪资最高且时间最早?
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【群除我佬】问了一个Pandas处理的问题,这里拿出来给大家分享下。看上去不太好理解,其实说白了,就是在工资最高里,再找时间最早的。换句话说就是,这三个人,每个人找工资最高,然后在这个范围里找时间最早就是他的调薪时间。二、实现......
  • jdbc insert数据后获取ID
    有时insert数据,数据ID为自动生成,需要获取ID。 以下就是获取ID的方法:publicstaticStringinsertByID(Stringsql,IDataBaseBeanbean,ArrayList<Object>keyvalueList,ArrayList<Class<?>>classtypeList,SingleDataSourcedatasource)throwsSQLException{ Connectionconn=......
  • Sql Server 数据库优化
    从高明到普通一共有4种优化方式:1、架构优化:最优解,一般来说在高并发的场景下对架构层进行优化其效果最为明显,常见的优化手段有:分布式缓存,读写分离,分库分表等,每种优化手段又适用于不同的应用场景。2、硬件优化:有钱能使鬼推磨,性能差了、反应慢了,就更新/迭代,从物理层次高纬度打击,机......
  • 一、响应数据
    1、ref全家桶ref:深层数据响应全类型取值赋值需要.valueref()、可以读取dom属性ref<HTMLDivElement>()isRef:判断变量是否是ref对象idRef() shallowRef:浅层数据响应shallowRef()triggerRef:强制更新数据triggerRef()customRef:自定义ref方法 例:functi......
  • 详解数据结构中栈的定义和操作
    摘要:本文为大家详解数据结构中栈的定义和操作。本文分享自华为云社区《数据结构:详细讲解栈的定义、栈的操作》,作者:高彬滔。1.栈的定义栈(stack):是只允许在一端进行插入或者删除操作的线性表(即后进先出,大概可以理解为吃饱了吐出来)空栈:不含元素的空标配栈顶:表尾端栈底:表头端......
  • 30 29 | 如何判断一个数据库是不是出问题了?
    我在第25和27篇文章中,和你介绍了主备切换流程。通过这些内容的讲解,你应该已经很清楚了:在一主一备的双M架构里,主备切换只需要把客户端流量切到备库;而在一主多从架构里,主备切换除了要把客户端流量切到备库外,还需要把从库接到新主库上。主备切换有两种场景,一种是主动切换,一种是被动......
  • 32 31 | 误删数据后除了跑路,还能怎么办?
    今天我要和你讨论的是一个沉重的话题:误删数据。在前面几篇文章中,我们介绍了MySQL的高可用架构。当然,传统的高可用架构是不能预防误删数据的,因为主库的一个droptable命令,会通过binlog传给所有从库和级联从库,进而导致整个集群的实例都会执行这个命令。虽然我们之前遇到的大多数的......
  • 【RDH隐藏】基于减少直方图移位中像素的无效移位的可逆数据隐藏附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • SqlServer触发器获取变更的数据
    1、Inserted和DeletedInserted表用于存储INSERT和UPDATE语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到inserted表和触发器表中。Inserted表中的行是触发器表中新行的副本。插入操作Inserted表有数据,Deleted表无数据删除操作Inserted表无数据,De......
  • Google Spanner数据库查询优化
    背景介绍运维反馈生产环境定时任务管理界面查询速度太慢,经过定位发现,是SQL查询速度太慢导致的,经过定位发现出有以下SQL数据查询过慢SELECTt.id,t.job_group,t.job_id,t.executor_address,t.executor_handler,t.executor_param,t.executor_sharding_param,t.executor_fai......