问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Jmeter 接口自动化-脚本数据分离实例

发布网友 发布时间:2024-10-14 17:13

我来回答

1个回答

热心网友 时间:2024-10-15 06:09

为了使大家对JMeter有更全面的理解,并使其操作得心应手,本文将重点介绍如何优雅地使用JMeter实现接口自动化,实现脚本与数据的分离。我们将把接口变更时对脚本的维护转移到CSV文本中,以降低维护成本。最终目标是编写好接口自动化脚本后,仅需对CSV文件进行操作即可完成接口变更维护。


JMeter脚本、数据和报告地址:链接



接下来,我们首先介绍一个JMeter函数:csvRead函数。该函数从外部读取参数,适用于简化接口自动化过程。熟悉此函数的用户可以直接跳过以下介绍。


csvRead函数使用

为了演示,我们创建一个名为test.csv(或test.txt)的文件,内容为:grizz,qq1111 jiezai,qq1111。每一行包含一组用户名和密码,用逗号分隔。


执行步骤如下:



新建文件,例如test.csv(或test.txt),存放参数。
在JMeter中,通过“选项”菜单选择“函数助手”对话框,选择“csvRead”函数。
设置参数:CSV file to get values from | *alias:文件路径,为绝对路径;CSV文件列号| next| *alias:从第几列开始读取。
示例:${__CSVRead(D:/test.csv,0)}取到值为“grizz”;${__CSVRead(D:/test.csv,1)}取到值为“qq1111”。
当线程数大于文件行数时,JMeter将循环读取文件内容。

注意:csvRead函数不适用于大文件,因为文件内容会被加载到内存中。对于大文件,推荐使用CSV Data Set或StringFromFile配置元件。


接口示例

以两个接口为例,其中一个是获取token的接口(/getToken),入参为 JSON:{"flag":"test", "appId":"001"};返回值为{"returnFlag":"1000","returnMsg":"获取token成功","token":"19940622"}。


另一个接口(/useToken)用于测试token,入参为 JSON:{"flag":"${token}","appId":"001"};返回值示例包括:{"returnFlag":"1000","returnMsg":"使用token成功"},{"returnFlag":"1001","returnMsg":"token为空"},{"returnFlag":"1002","returnMsg":"token错误"}。


版本分解

从入门到熟练,我们将接口自动化过程分为v1至v4版本。


v1版本

初始脚本简单,从getToken接口获取token,使用正则表达式提取。然后请求useToken接口,使用提取到的token值。测试接口异常情况,确保覆盖所有场景。


v2版本

引入数据文件,将useToken接口的请求参数从文件中读取。针对不同场景,优化脚本结构,减少重复的sampler。


v3版本

利用JMeter的eval函数,简化脚本逻辑,直接从文件中读取响应断言,提高脚本可维护性。


v4版本

针对新增的token过期场景,优化CSV文件和线程组配置,确保接口变更维护仅需操作CSV文件。


本文旨在展示如何通过JMeter实现接口自动化,实现脚本与数据分离,以简化接口变更维护过程。我们通过逐步优化,从入门到熟练,最终实现接口变更维护的自动化。

Jmeter 接口自动化-脚本数据分离实例

版本分解从入门到熟练,我们将接口自动化过程分为v1至v4版本。v1版本初始脚本简单,从getToken接口获取token,使用正则表达式提取。然后请求useToken接口,使用提取到的token值。测试接口异常情况,确保覆盖所有场景。v2版本引入数据文件,将useToken接口的请求参数从文件中读取。针对不同场景,优化脚本结构,减...

非结构化数据如何可视化呈现?

通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准...

案例分享丨JMeter进行接口测试,两种方法获取Cookie值

新建线程组和简单控制器,保持脚本结构清晰。 创建HTTP请求,分别填写登录接口和获取商品接口的详细参数。 登录接口后,我们使用正则表达式提取器提取Set-Cookie值,将其存储在变量${token}中,以便后续请求使用。 在查看商品信息接口的请求中,HTTP信息头管理器会自动应用Cookie,确保状态的连续性。

jmeter接口测试-15正则表达式关联

自此,一个完整的登录关联就结束了。后续接口直接调用该token就可以。我们接下来继续说其它的参数关联 比如一个增删改查流程,想要做自动化检验就必须形成一个闭环,那么删除-修改-查看就必须调用同一个必填参数,例如唯一性的id。 先新增一个经验库,可以看到结果中返回了一个id,我在后续接口中都必...

案例分享丨JMeter进行接口测试,两种方法获取Cookie值

首先,使用HTTPCookie管理器处理Cookie。在测试计划中,创建一个名为“商品前台接口(测试环境)”的测试计划,包含配置元件,如用户定义的变量(用户名、密码、验证码),HTTP请求默认值(协议、服务器信息等),以及HTTP信息头管理器,其中可能填写Refer、Content-Type等信息。在测试脚本中,创建一个线程组和...

Jmeter读取本地txt/csv文件作为请求参数,实现接口自动化

前提1: 找到 apache-jmeter-3.2->bin ,点击 Jmeter.bat 启动 Jmeter 4、HTTP 请求里的 Body 内容,需要用本地的值作为参数,按照下面方式书写,格式是 "${variable name}" ,如果请求值有中文,记得 Content encoding 里要输入 UTF-8 ,否则会乱码 请求数据是一串ID,误以为是编码问题,排查了...

【接口自动化测试】Jmeter(8)后置处理器

接口自动化测试:JMeter后置处理器详解在JMeter的测试流程中,后置处理器扮演着关键角色,它们负责请求完成后的操作,特别是数据提取。下面主要介绍几种常用的后置处理器。1. JSON提取器使用JSON-PATH语法,如"$"代表根节点,"."或"[]"用于子节点提取,支持数组索引、相对路径和过滤计算。设置时,需指定...

Jenkins+Jmeter+Ant实现接口自动化

Jenkins+Jmeter+Ant这套接口自动化框架,能够帮助绝大多数技术团队快速搭建并实施接口自动化测试。Jmeter图形界面友好,易于上手,同时支持并发测试。Jenkins配合Ant可自动定时执行jmx脚本并生成测试报告。一、Ant简介 下载地址:ant.apache.org/bindownl... windows下载zip包,mac下载tar包(建议用homebrew安装...

使用jmeter做接口验证测试

步骤适合有点基础的同学 首先登录、然后提取登录接口返回参数 [多个参数使用json提取器,使用规则见下图]; 将接口默认设置配置元件中,最后将token设置为全局变量 [ 脚本见下图]一、Response Assertion(响应断言)二、Size Assertion(数据包字节大小断言) 判断响应结果是否包含正确数量的byte。可...

【接口自动化测试】Jmeter(1) 安装和环境以及目录介绍

【接口自动化测试】JMeter的安装、环境配置及目录详解 1. 环境配置:JMeter是一款基于Java的接口测试和性能测试工具,推荐安装JDK17版本,因其与最新Jenkins兼容。下载地址为:codebaoku.com/jdk/jdk-i...2. JDK安装:可选择非C盘安装,避免冲突。新版本JDK无需安装JRE。安装完毕后,配置环境变量。首先...

【接口自动化测试】Jmeter(5)逻辑控制器

逻辑控制器在JMETER中起着控制测试计划执行顺序的重要作用,它们包括多种类型以满足不同的测试需求。IF控制器,通过条件判断来决定是否执行特定节点。可以设置用户变量或从响应中提取变量值用于判断。循环控制器(Loop Controller)用于控制元素执行次数,若同时设置线程组循环次数与控制器循环次数,子节点执行...

不能对接口直接实例化 接口为什么不能实例化 接口可以实例化 接口可以实例化对象吗 自动化改善实例 自动化生产实例 自动化的实际应用举例 生活中自动化实例 自动化实例及其解释
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...新南站到郑州市东明路和纬五路交叉口的肿瘤医院,最少转乘,大概多长... 合肥济民肿瘤医院到合肥汽车南站怎么坐公交车? 合肥凤凰肿瘤医院下高铁后怎么走打的大概要多少钱 什么是爱情,我又迷糊了!哎…… 三个月宝宝拉绿便便怎么回事 GB/T276-1994 圆柱滚子轴承 6311-2rs/z1 这个型号各字母所代表的意思... 6208轴承最高限速多少 为什么我在电脑上下载的photoshop软件都是花钱的,要不打不开。怎么才 ... 6204轴承是什么类型的轴承? 爱情天梯是真的吗 jmeter测试500并发? 一篇文章给你介绍jmeter——主要组件 JMeter读取CSV文件实现参数化技术指南 为什么照镜子觉得自己长得好看,可是真人很丑 ...可是照相又跟自己不一样?不上相啊!照得很丑…… 工伤评级可以向劳动鉴定委员会咨询吗 工伤伤残鉴定委员会渎职请问找哪个部门 360n6pro屏幕刷新率 单亲家庭为什么不受待见? 求大神啊 就是那个 画蛇添足 扩写 作文! 有木有人会的 会的帮帮我... 做单亲妈妈会被别人歧视吗? 办公室挂钟的三大禁忌 你了解吗 办公室挂钟的位置有什么讲究? 君度科技有限公司企业文化 ...利息手续费是多少还有如何申请建设银行信用卡分期付款 ...一个三孔和两孔的插座,两孔的我做电磁炉用,三孔的我接冰箱,请问这样... 福州新东方学费多少钱 社保网上新参统职工申报时间太久没审核导致失败应该怎么处理 最近睡不着觉总是感觉头疼,然后今天出现了干呕。。这是怎么回事啊??是... 装系统时c盘已经格式化了,其他盘是不是也要格式化才能用? 石龟吃什么 为什么我的Access2007版数据类型里没有计算? 儿媳妇有无权利将房主(公公)的房子出租,合同是否有效 ...证是公公的名后来变为他儿子的名,离婚后有儿媳妇的房产 川音的美术附中怎么样?有哪位朋友有招生简章的?都有些什么要求才能考了... 抖音不用去上班不用看老板白眼不爽我自己滚蛋是什么歌-出道四年歌曲信... 听说湖南有很多特产,尤其是特色小吃,长沙有什么好吃的? a Song 4 my Angel 歌词 陈小春犯贱的歌词 ...的住房公积金,现在离职回泰州啦,住房公积金能不能拿出来 ...人在常熟工作,现调到泰州工作,请问公积金可不可转到泰州。_百度知 ... 男孩子可以吃龟苓膏吗 吃龟苓膏应该多久吃一次?吃它有坏处么? 有何提升小学生写作能力的方式? 该怎样提高小学生的作文能力? 当月开的增值税发票必须当月勾选吗 当月开发票下月用进项抵扣可以吗 满嘴胡诌是什么意思 AMD A10-5800K或5700可以跟HD4350交火吗 关于山东理工大学复试