Jmeter —— jmeter参数化实现

jmeter参数化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

执行效果如下:

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

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

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

jmeter官网详细文档地址:Apache JMeter - User's Manual

或者在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次

⑤、点击执行

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库管理-第112期 Oracle Exadata 03-网络与ILOM(20231020)

数据库管理-第112期 Oracle Exadata 03-网络与ILOM(202301020) 在Exadata中,除了对外网络以外,其余网络都是服务于一体机内部各组件的网络,本期对这些网络的具体情况和硬件管理相关做一个讲解。 1 网络分类 1.1 生产…

记调试SMBUS的心得

为什么电池电压读的不对 仔细一看是I2C读取数据的时候少了一个CLK I2C是非常严密的 读数据之后,发送 ACK,让从机准备数据 发送NACK,告诉从机别准备了 ACK和NACK的区别是啥,告诉你,就是NACK先拉高SDA,再…

十四天学会C++之第五天:类的详细讨论

1. 友元函数和友元类 什么是友元函数和友元类,它们的作用。如何声明和使用友元函数和友元类,访问类的私有成员。 友元函数(Friend Functions) 友元函数是一种特殊的函数,它被允许访问类的私有成员。这意味着即使成员…

为什么要做字节对齐 alignment?

下面这段 C 代码的输出是什么&#xff1f;定义的 Type 占用的字节数&#xff08;下面简称为字节数&#xff09;是多少呢&#xff1f; #include <iostream>struct Type {char a;int b; };int main(void) {std::cout << sizeof(Type) << \n; }经过编译运行&am…

阿里面试(持续更新)

一面&#xff1a; 1 HashMap 实现原理&#xff0c;ConcurrentHashMap 实现原理 HashMap和ConcurrentHashMap都是存储键值对的数据结构&#xff0c;不同的是HashMap是线程不安全的&#xff0c;ConcurrentHashMap是线程安全的&#xff0c;HashMap在高并发情况下会出现数据不一致…

企业知识库软件,快速构建企业知识分享与团队协同的软件

企业知识库是一种特殊的在线协同文档工具&#xff0c;支持包括FAQ、文档、视频、知识图谱等。从本质上讲&#xff0c;它是基于企业知识库软件从而实现内部或外部知识的沉淀、集合、更新、共享等&#xff0c;能为员工或客户提供常见问题的标准回答。 今天我就基于HelpLook &…

敏捷是怎么提高工作效率的

敏捷管理是一门极力减少不必要工作量的艺术。 谷歌、亚马逊、苹果、微信、京东等全球 500 强企业都在用的管理方法&#xff0c;适用于各行各业&#xff0c;被盛赞为应获“管理学的诺贝尔奖”。 它专注于让员工不受种种杂事的羁绊&#xff0c;激发个体斗志&#xff0c;释放出巨大…

阶段六-Day05-MyBatis3

一、多表查询&#xff08;面试题&#xff09; 1. 介绍 多表查询是在企业中必不可少的&#xff0c;无论多么简单的项目里通常会出现多表查询的操作。因为只要是关系型数据库&#xff0c;在设计表时都需要按照范式进行设计&#xff0c;为了减少数据冗余&#xff0c;都会拆成多个…

Proteus仿真--量程自动切换数字电压表(仿真+程序)

本文主要介绍基于51单片机的量程自动切换数字电压表Proteus仿真设计&#xff08;完整仿真源文件及代码见文末链接&#xff09; 简介 硬件电路主要分为单片机主控模块、AD转换模块、量程选择模块以及数码管显示模块 &#xff08;1&#xff09;单片机主控模块&#xff1a;单片…

Golang开发软件

1. 引言 Go&#xff08;也称为Golang&#xff09;是一种开源的编程语言&#xff0c;由Google在2007年启动的项目中开发而来。它是一种静态类型的编译型语言&#xff0c;旨在提供高效、可靠的性能。相比于其他编程语言&#xff0c;Golang具有更高的执行效率和并发能力&#xff…

OpenStack云计算平台实战-----创建空白虚拟机

1、创建空白虚拟机 需要注意的步骤会截图一下&#xff0c;其它的基本都是下一步&#xff0c;默认的即可 建议将虚拟机命名为自己的名字加后缀 将处理器数量和每个处理器的内核量都修改为2 将虚拟机的内存设置为8G&#xff0c;不然不够用 将指定磁盘大小设置为200G&#xff0c;…

精讲stable diffusion的controlNet插件

controlNet插件是stable diffusion的一个重要插件&#xff0c;甚至可以说正是因为有了controlNet插件&#xff0c;stable diffusion才会具有midjourney所不具备的独特魅力&#xff01; 我们今天就一起来学习下controlNet插件的安装和每个模型的用法 插件主页 独立的controlN…

微信小程序授权登录介绍

目录 一. 小程序登录如何获取微信用户信息 二. 小程序微信授权登录示例 后台代码 小程序代码 效果展示 三. 微信emoji存储问题 一. 小程序登录如何获取微信用户信息 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识&#xff0c;快速建立小程序内…

【Java 进阶篇】手把手教你创建 Bootstrap 旅游网站

随着互联网的普及&#xff0c;旅游行业在全球范围内迅速发展。人们通过网络规划、预订和分享他们的旅行经历。因此&#xff0c;拥有一个令人印象深刻的旅游网站对于吸引游客和提供有用信息至关重要。在本篇博客中&#xff0c;我们将手把手教您如何创建一个令人兴奋的旅游网站&a…

华为eNSP配置专题-OSPF路由协议的配置

文章目录 华为eNSP配置专题-OSPF路由协议的配置0、概要介绍1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、终端构成和连接2.2、终端的基本配置 3、OSPF路由的配置3.1、OSPF路由的配置3.1.1、在R1上配置OSPF3.1.2、在R2和R3上配置OSPF3.1.3、查看和监控OSPF 华为e…

[传智杯 #5 初赛] I-不散的宴会

洛谷P8877 [传智杯 #5 初赛] I-不散的宴会 题目大意 学生社会可以被看作一个排列成等腰直角三角形的节点阵列。该节点阵列共有 n n n行&#xff0c;第 i i i行共有 i i i个节点&#xff0c;我们将第 i i i行第 j j j列的节点标号为 ( i , j ) (i,j) (i,j)。 这些点具有权值。…

正则表达式之学习笔记

正则表达式学习笔记 一、概念二、正则表达式组成三、常见的正则表达式3.1 .匹配任意字符3.2 * 匹配前一个字符的0个或多个实例3.3 ^ 匹配输入字符串的开头3.4 $ 匹配行尾3.5 [] 匹配字符集合\<\> 精确匹配符号 一、概念 正则表达式是由一系列特殊字符组成的字符串&#…

【笔试题】华为研发工程师编程题

1.汽水瓶 某商店规定&#xff1a;三个空汽水瓶可以换一瓶汽水&#xff0c;允许向老板借空汽水瓶&#xff08;但是必须要归还&#xff09;。 小张手上有n个空汽水瓶&#xff0c;她想知道自己最多可以喝到多少瓶汽水。 数据范围&#xff1a;输入的正整数满足 1≤n≤100 1≤n≤…

localforage-本地存储的优化方案

前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff08;sessionStorage、localStorage&#xff09;的使用已经非常熟悉&#xff0c;在面试与实际操作之中也会经常遇到相关的问题&#xff0c;但这些本地化存储的方式还存在一些缺陷…

让uniGUI支持https

今天在专家的帮助下&#xff0c;成功的让uniGUI支持https了。 首先&#xff0c;去申请个**的证书。我同事去阿里申请的&#xff0c;申请回是一个zip文件&#xff0c;里面有两个文件&#xff0c;一个扩展是per&#xff0c;一个key 然后&#xff0c;把这两个证书文件放到uniGUI…