Jmeter —— jmeter参数化实现

jmeter参数化

  在实际的测试工作中,我们经常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试, 而在实际测试工作中,测试工具中实现不同数据输入的过程称为参数化设置。

jmeter提供多种参数化设置的方式,常用的有:

1、使用 用户定义的变量元件 实现
2、使用 用户参数元件 实现
3、使用 函数助手 实现
4、使用 CSV 数据文件设置元件 实现
5、其它方式(数据库数据、beanshell等)实现

一、使用 用户定义的变量元件 实现参数化:

  在实际使用jmeter进行接口测试过程中,我们把一些常用的配置值全部放置到用户定义的变量元件中,方便统一管理。在需要使用到的其他地方通过 ${变量名} 的语法格式进行引用即可

添加路径:右击——配置元件——用户自定义的变量

在http请求中使用${变量名}引用;如下图

 二、使用 用户参数元件 实现参数化:

  用户参数元件可通过右键快捷菜单中选择 添加-前置处理器-用户参数进行添 加,与用户自定义变量不同的是,用户参数列表中的参数取值可以在测试计划执 行过程中发生变化。

  每次迭代更新一次:如果选中该选项,则参数的值在每个迭代中保持不变,在新 的迭代开始时取下一个值。如果取消该选项,则参数值在每个在其作用域内的 sampler发出请求时取下一个可用值。

  建议在参数的取值范围很小,使用用户参数比较合适

添加路径:右击——前置处理器——用户参数

在名称中输入一个变量名,用户后面输入不同的值;在http请求中引用变量名

在线程组中,修改线程数;如下图

执行效果如下:

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

、使用 函数助手 实现参数化:

打开路径:在工具栏——函数助手对话框;                                                                                          快捷图标展示;如下图

                                     

函数助手中提供了很多可以进行参数化的函数,常用典型的几个函数。

 

或者在jmeter目录——printable_docs——打开index.html——点击Function;如下图:

1、__Random:随机整数函数,输入最小值、最大值,如果需要把生成的值保 存在变量中,可以设置变量,如果只是一次使用,可以不设置存储变量。设置完 上述三项后,点击生成即可生成函数代码,在需要的地方使用即可

如下图:

①、选择Random,一个范围内最小值为10,一个范围内允许的最大值为100,存储结果的变量名(可选)为nums;点击生成函数,jmeter自动复制

②、打开http请求,粘贴到指定位置

③、线程组选择循环次数;

④、执行结果如下:

2、__RandomString:随机字符串函数,输入字符串指定长度、字符串的组成字 符,点击生成即可。如下图:

打开http请求,粘贴到指定位置

忽略首行:csv文件中如果是字段名,而不是实际的参数化数据的时候,设置为 true,表示第一行数据不作为参数化的数据此外还有如下能实现参数化:
3、__time:当前时间的时间戳函数
4、__RandonDate:随机日期函数
5、__machineIP:取设备的IP地址函数
等等.....

四、使用 CSV 数据文件设置元件 实现参数化:

  csv数据文件中的csv称为逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。在jmeter中可以使用此类型文件提供的数据作为参数化。通过右击 -- 新增 -- 配置元件 -- CSV 数据文件设置元件进行添加

导入的文件可以为excel后缀名为xls、csv或者txt文本

界面字段介绍:

名称/注释:自定义描述性文字

文件名:指保存信息的文件目录,可以相对或者绝对路径

文件编码:默认为ANSI,根据文件类型来,一般设置为UTF-8;GB2312、GBK

变量名称:给csv文件中各列起变量名字(有多列,用英文逗号隔开列名)

忽略首行:csv文件中如果是字段名,而不是实际的参数化数据的时候,设置为 true,表示第一行数据不作为参数化的数据

分隔符:用什么符号分隔参数化文件中的各列,以csv文件中的分割为准设置

是否允许带引号:允许参数化文件的参数带有双引号,默认是False,如果参数 文件的值带有双引号,False模式会将双引号也当做参数

遇到文件结束符再次循环:到了文件尾是否循环,True---继续从文件第一行开始 读取,False---不再循环

遇到文件结束符停止线程:到了文件尾是否停止线程,True---停止,False---不 停止,注:当遇到文件结束符再次循环设置为True时,此项设置无效。

线程共享模式:设置csv数据文件的使用范围

①、新建一个excel文件,后缀名为CSV的文件,

②、点击浏览选中上面的文件;文件编码为GBK;输入第一行的变量名name;忽略首行为True

③、在http请求中引用变量名

④、线程组循环5次

⑤、点击执行

END今天的分享就到此结束了,点赞关注不迷路~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/130950.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode刷题详解——全排列 II

1. 题目链接:47. 全排列 II 2. 题目描述: 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输…

ros1 基础学习04- 自定义Publisher消息编程实现示例

整理步骤 cd进入工作空间下的代码空间, 创建功能包,并配置依赖 在功能包里面的代码空间里编写C代码文件 在cmakelist文件里面配置编译规则 cd到工作空间,编译工作空间,source设置环境变量 打开roscore, 运行海龟仿真节点,运行功能…

Django——orm模块创建表关系

django orm中如何创建表关系 1. 表关系分析 表与表之间的关系: 一对多 多对多 一对一 没有关系 判断表关系的方法: 换位思考用4张表举例: 图书表 出版社表 作者表 作者详情表图书和出版社是一对多的关系 外键字段建在多的那一方图书和作者是多对多的关系 需要创建第三张表来…

一致性算法介绍(二)

1.4. NWR N :在分布式存储系统中,有 多少份备份数据 W :代表一次成功的更新操作要求至少有 w 份数据写入成功 R : 代表一次成功的读数据操作要求至少有 R 份数据成功读取 NWR值的不同组合会产生不同的一致性效果,当WR…

leetcode:141. 环形链表

一、题目 函数原型: bool hasCycle(struct ListNode *head) 二、算法 判断不是环形链表,只需遍历链表找到空结点即可。 判断是环形链表,由于链表是环形的,遍历不会永远不会结束。所以要设置快慢指针,慢指针一次走一步&…

解锁潜在商机的钥匙——客户管理系统公海池

在竞争激烈的市场环境下,企业需要更智能、高效的方式管理客户,从而挖掘潜在商机。客户管理系统的公海池,就是为此而生的利器,让你轻松解锁商机,提升客户管理效能。 公海池,打破信息孤岛,释放潜在…

最新itvboxfast源码如意itvbox影视仓二开会员版新增支持多线路仓库自动换源等功能支持对接苹果CMS和tvbox接口搭建教程

此套源码包含前后端源码,也有打包好的APK,不知道打包的也可以反编译,有视频教程 这次更新支持自动换源以及支持多线路仓库,首页轮播图优化,新增主题,积分签到还有很多新增功能,由于这里不能发太多详细的东…

新浪微博一键删除所有内容

亲自测试用 具体操作如下: 对应的 1 2 如下,进入这个界面是按F12 就可以看到 最后画横线的位置 替换自己的id 对应的就是 3 具体代码如下 //向删除接口发起请求,删除对应节点 function del_weibo(id) {var myHeaders new Headers();myHea…

Vuex:模块化Module

由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。 这句话的意思是,如果把所有的状态都放在/src/store/index.js中,当项目变得越来越大的时候,Vue…

C#,数值计算——函数计算,Epsalg的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Convergence acceleration of a sequence by the algorithm.Initialize by /// calling the constructor with arguments nmax, an upper bound on the /// number of term…

软件工程的舞台上,《人月神话》的美学纷飞

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天给大家分享一本书&#xff1a;《人月神话》——软件工程的经典之作。 《人月神话》是一本具有深远影响力的软件工程著作&#xff0c;无论是软件开发者、管理者还是学习软件工程的人士&#xff0c;都能从中获得宝贵的启…

高性能网络编程 - 解读3种线程模型

文章目录 Pre线程模型1&#xff1a;传统阻塞 I/O 服务模型线程模型2&#xff1a;Reactor 模式Reactor 模式的基本设计思想Reactor 模式中的关键组成3种典型实现单 Reactor 单线程单 Reactor 多线程主从 Reactor 多线程 小结 线程模型3&#xff1a;Proactor 模型 Pre 高性能网络…

深入理解 TCP;场景复现,掌握鲜为人知的细节

握手失败 第一次握手丢失了&#xff0c;会发生什么&#xff1f; 当客户端想和服务端建立 TCP 连接的时候&#xff0c;首先第一个发的就是 SYN 报文&#xff0c;然后进入到 SYN_SENT 状态。 在这之后&#xff0c;如果客户端迟迟收不到服务端的 SYN-ACK 报文&#xff08;第二次…

管易云与电商平台的无代码集成:实现API连接与用户运营

管易云简介及其与电商平台的合作 金蝶管易云是金蝶集团旗下以电商为核心业务的子公司&#xff0c;是国内最早的电商ERP服务商之一&#xff0c;总部在上海&#xff0c;与淘宝、天猫、 京东、拼多多、抖音等300多家主流电商平台建立合作关系&#xff0c;同时管易云是互联网平台首…

MATLAB中deconvwnr函数用法

目录 语法 说明 示例 使用 Wiener 滤波对图像进行去模糊处理 deconvwnr函数的功能是使用 Wiener 滤波对图像进行去模糊处理。 语法 J deconvwnr(I,psf,nsr) J deconvwnr(I,psf,ncorr,icorr) J deconvwnr(I,psf) 说明 J deconvwnr(I,psf,nsr) 使用 Wiener 滤波算法对…

操作系统 | 编写内核

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 目录结构 1. 操作系统实验之编写内核 1.1 实验目的 1.2 实验内容 1.3 实验步骤 1.4 实验过程 …

1.linux极速进阶

目录 概述文件相关vi文件编辑查找字符串查找某一行内容复制粘贴快速删除快速跳到文件首行和末行 进程相关ps/netstatjpstopkill linux三剑客grepsed添加方面操作删除方面替换操作 awk 结束 概述 身为后端开发&#xff0c;大数据平台搭建&#xff0c;对 linux 系统的操作最起码…

高阶组件和Hooks

目录 1. 高阶组件&#xff08;Higher-Order Components&#xff09; 1.1 创建高阶组件 1.2 使用高阶组件 2. Hooks 2.1 使用useState Hook管理状态 2.2 创建自定义Hook 结论 1. 高阶组件&#xff08;Higher-Order Components&#xff09; 高阶组件是一个接受一个组件作为…

面向对象--------三巨头

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶个人主页&am…

Apache Airflow (四) :Airflow 调度shell命令

&#x1f3e1; 个人主页&#xff1a;IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 &#x1f6a9; 私聊博主&#xff1a;加入大数据技术讨论群聊&#xff0c;获取更多大数据资料。 &#x1f514; 博主个人B栈地址&#xff1a;豹哥教你大数据的个人空间-豹…