Jmeter接口测试参数化详解

article/2025/10/11 19:54:01

接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性。我们在测试过程中需要考虑不同的输入组合,来覆盖不同的测试范围;除此之外,系统中往往存在一些有唯一性校验的接口,不允许重复录入关键字段(eg: 用户名,身份证…),针对这些有唯一性校验的接口,需要在每次运行时动态输入不同的数据。

为了解决上述问题,Jmeter提供了一些参数化的工具,最常用的有RandomString函数,CSVRead函数以及CSVDataSetConfig

最常用的有RandomString函数,CSVRead函数以及CSVDataSetConfig。

RandomString函数

Jmeter通过RandomString函数助手可动态生成字符串,它包括三个变量:

  • Random string length:生成的String长度
  • Chars to use for random string generation:用于生成String的字符集
  • Name of variable in which to store the result (optional):可选,指定存储生成的String变量名,供后续接口调用。

RandomString函数

通过RandomString可以生成任意长度的指定字符集的字符串,除了生成随机字符串,还可以基于RandomString拼接扩展特定格式的字符串。

比如有些系统会校验手机号前三位,即可通过RandomString生成后8位数字,然后拼接满足需求的前三位数字组合。

RandomString函数

RandomString函数非常强大,几乎可以实现接口单个请求参数的所有参数化工作,但在实际应用中,有时候不同请求参数有一定的关联性,此时无法通过RandomString来解决多请求参数之间的关联性问题,需要引入CSV组件来解决。

CSVRead函数

CSVRead函数适用于一组关联请求参数的场合,比如要选择用户的收获地址,往往需要选择省->市->区,而省市区这三个请求参数之间有关联性,此时可以通过自定义一组满足关联性要求的数据,将其写入CSV文件,然后在Jmeter中通过CSV函数来读取CSV文件

CSVRead函数

Jmeter中通过函数助手可引入CSVRead函数的支持,它有两个参数

  • CSV File to get Values from: 需要读取的CSV文件
  • CSV文件列号:从0开始

CSVRead函数

CSVRead函数有一些局限性,CSVRead不可指定编码,跨系统调用时可能出现乱码;另外多次循环同一个请求时会重复读取第一行数据,只有当线程数设置为多个时,才会读取多行数据

CSV Data Set Config配置元件

CSV Data Set Config 是CSVRead函数的升级版组件,它可以配置更多选项来控制读取的过程

  • Filename:CSV文件路径
  • File Encoding:编码格式,中文系统下生成的CSV文件编码使用GBK (英文系统使用UTF-8)
  • Variables Name:生成的变量名,通过顺序和Excel列数据对应,指定变量名以后DebugSampler中可查看变量值
  • Delimiter:分割符,CSV默认的分割符是逗号,tab分割符用 
  • Allow quoted data: 是否允许双引号内的拆分,设置为Ture时,“a,b”,c 会被解析为3列数据,设置为False时,会被解析为2列数据,默认False
  • Recycle on EOF:参数文件是否循环遍历,设置为False时,文件遍历完则终止提取,请求的参数值为EOF,默认True。无论是设置多线程,还是多次迭代,都会循环遍历CSV文件
  • Stop thread on EOF:参数值为EOF时,是否停止执行线程。当 Recycle on EOF 设置为 true 时,此项不起任何作用。当且仅当 Recycle on EOF? 为 false 时,此项配置才生效。默认为False
  • Sharing mode:共享模式,All threads参数文件对所有线程共享,包括同一测试计划中的不同线程组;Current thread group只对当前线程组中的线程共享Current thread仅对当前线程获取

CSV Data Set Config配置元件

以上三个组件基本涵盖了接口自动化中参数化的绝大多数功能,对于更复杂的参数化需求,可通过编码方式实现脚本,并通过Jar包的方式引入脚本支持。


http://chatgpt.dhexx.cn/article/Q4eqRH59.shtml

相关文章

Jmeter学习之用户定义变量与用户变量

一、User Defined Variables 1、添加方法:选择“线程组”,右键点击添加-Config Element-User Defined Variables,定义你所需要的参数,如 2、在对应的需要使用参数的位置,使用${host}替代。 …

jmeter请求get接口报错(java.net.URISyntaxException: Illegal character in query at index 153: http://qa....)

log: 问题描述: 接口请求类型:get 请求参数:{"canshu1":"17600000005","canshu2":"test-0004","canshu3":"2021090301"},如下: 请求的时候报错如下: …

jmeter文件上传请求配置:文件,图片,语音、视频上传

图片上传http请求配置: 跟一般的http请求相对,图片上传的配置请求参数多了以下3个部分 1.点击图中【高级】,将客户端实现方式改为java 2.点击【参数】,按照基本请求参数配置即可 3.点击【文件上传】,配置图片路径&am…

JMeter外观配置与汉化

1、JMeter外观配置 推荐使用系统默认的外观,原因:不会出现窗口拉伸、变形等问题。 路径:选项->外观->System 2、JMeter汉化 方法1:修改JMeter设置(一次性的,下次打开JMeter还会恢复默认配置&#x…

16、Jmeter如何创建桌面快捷带图方式(亲测有效)

First step** 1、先找到jmeter文件安装的bin目录—>jmeter.bat文件,创建桌面快捷方式。 ** 2、右键,点击“发送到”---->桌面快捷方式”。然后再选中桌面快捷方式,右键,点击“属性”,修改“属性”里的路径为&am…

11、jmeter读取CSV文件之元件数据文件设置基础页面了解(1)

使用场景以及好处: 读取用例的方法通常有两种,1、通过建立多个请求信息实现接口的入参参数化,2、通过读取csv文件,加载测试用例。第一种方法会导致脚本过于冗余,不便于维护,因此多数情况我们会使用读取csv文…

JMeter的基本使用

目录 一、下载JMeter 二、设置语言为简体中文 三、JMeter外观设置 三、添加线程组 四、添加HTTP请求 五、添加信息头管理器 ​六、创建察看结果树 七、运行查看结果 一、下载JMeter 下载地址:Apache JMeter - Apache JMeter™ 下载zip文件解压后运行bin目录…

使用Jmeter进行性能测试的基本操作方法

Jmeter是一款轻量型的优秀测试软件产品,在很多场合如个人测试,企业测试中都有广泛应用。相比体积巨大的我们在某些场合可能更倾向于对Jmeter的使用,那么我们要如何利用该软件进行性能测试呢? 我们需要下载安装这款全免费的测试软件…

JMeter下载安装及入门教程

1 JMeter介绍 JMeter使用了不同技术和协议,是一款可以进行配置和执行负载测试、性能测试和压力测试的工具。负载测试、性能测试和压力测试概念: 负载测试: 这类测试使系统或者应用程序在预先设计好的极端场景下测试运行。这类测试用来评估系统或者程序…

Jmeter模拟selenium操作浏览器

前言 selenium是一个web自动化测试的开源框架,它支持多语言:python/java/c#… selenium支持多语言,是因为selenium与浏览器驱动之间是通过http协议进行通信的。只关心通信的数据是否能够正确解读 ,并不关心这个数据是从哪个客户…

jmeter 安装与配置

目录 一、jmeter 安装配置与启动 1、安装 2、配置 3、启动 (若要求在 Linux 下启动,则用bin --> jmeter.sh 打开) 二、jmeter 插件安装 一、jmeter 安装配置与启动 (需要Java环境) 1、安装 安装与JDK版本对…

JMeter执行顺序与作用域

两个线程组之间是不可以直接传入参数的 执行顺序 一般情况下JMeter按照如下顺序执行∶ 0.配置元件 1.定时器 2.前置处理器 3.取样器 4. 后置处理器 5.断言 6.监听器 一个简单的例子∶ -Test Plan -Thread Group -HTTP Requesto 4  …

Jmeter测试全流程学习教程

Jmeter测试全流程学习教程,本文从jmeter的下载安装到具体的测试流程做了详细的介绍,并在文章中介绍了一些长见问题及处理方法。适合刚刚接触jmeter测试的新手小白参考,若有错误之处,欢迎指正,大神勿喷。 1. 安装与配置 1.1. 下载 官网地址:https://jmeter.apache.org/…

jmeter测试服务器性能测试报告,Jmeter的性能测试

需要分析的系统信息 需要分析的业务信息 性能需求评估 确定性能测试点: 关键业务: 确定被测项目是否属于关键业务,有哪些主要的业务逻辑点,特别是跟交易相关的功能点。例如转账,扣款等接口。如果项目(或功能点)不属于关键业务(或关键业务点) 日请求量: 确定被测项目各功能…

Jemeter 设置中文

1、在jmeter路径下找到文件,bin–>jmeter.bat开启编辑模式 2、找到set JMETER_LANGUAGE-Duser.language“en” -Duser.region"EN"部分; 3、在该部分前后分别添加goto remove_language_reset_bug_4.0和:remove_language_reset_bug_4.0&#…

怎么将fiddler中的接口数据导入jemer直接使用

1、将附件JmeterExproter.dll和JmeterExporter.pdb替换至ImportExport 2、将CustomRules.js替换至Script里 3、进入fiddler,选择任意接口,点击file-export sessions-selected sessions–选择Jmeter 4、导入为.jmx的文件 5、在jmeter中打开即可…

Jmeter命令行运行实例讲解

1. 简介 使用非 GUI 模式&#xff0c;即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法。 1.1. 命令介绍 jmeter -n -t <testplan filename> -l <listener filename> 示例&#xff1a; jmeter -n -t testplan…

【Jmeter操作步骤】

1.添加线程组&#xff1a; 测试计划-右键-添加-线程组&#xff0c;设置名称、线程数、Ramp-up时间、循环次数。 2.添加取样器&#xff1a; 线程组-右键-添加-取样器-http请求&#xff0c;设置名称、协议、服务器名或IP、请求类型、路径、请求体&#xff0c;编码utf-8。 3.添加…

windows - Hook技术介绍

hook 介绍 Hook技术被广泛应用于安全的多个领域&#xff0c;比如杀毒软件的主动防御功能&#xff0c;涉及到对一些敏感API的监控&#xff0c;就需要对这些API进行Hook&#xff1b;窃取密码的木马病毒&#xff0c;为了接收键盘的输入&#xff0c;需要Hook键盘消息&#xff1b;甚…

灯塔工厂 | 璞华大数据HawkEye设备数字化管理平台助力建设灯塔工厂

**编辑者按&#xff1a;**灯塔工厂、黑灯工厂、智能工厂、智慧工厂、工业互联网平台、工业4.0、全球化4.0&#xff0c;这些概念在内涵和建设内容上有关联、有交集&#xff0c;或者有相似之处&#xff0c;其核心都是数字化转型。不管是哪一种&#xff0c;璞华大数据HawkEye都可以…