
jmeter & 接口测试
文章平均质量分 54
接口测试实践技巧
大西瓜大哥
热爱生命,热爱生活。
展开
-
UI自动化测试与接口自动化测试:深入对比分析
UI自动化测试:模拟用户在图形用户界面(GUI)上的操作,验证应用程序的功能是否按预期工作。这种测试方法关注的是用户可见的界面元素,如按钮、文本框、链接等。接口自动化测试:直接调用API接口,验证接口的输入输出是否符合预期。这种测试方法关注的是应用程序的内部交互,而不是用户界面。UI自动化测试和接口自动化测试各有其优势和局限性。在实际项目的自动化测试中,通常采用以接口自动化测试为主、系统稳定后通过UI自动化测试对重点业务流程进行覆盖的方案。原创 2024-12-02 18:30:00 · 833 阅读 · 0 评论 -
如何使用JMeter的JSON提取器解析JSON响应
在性能测试和API测试中,经常需要处理JSON格式的数据。Apache JMeter提供了一个强大的工具——JSON提取器,用于从JSON响应中提取特定的值。本文将通过一个实际的例子,演示如何使用JMeter的JSON提取器来解析JSON响应。原创 2024-08-27 18:45:00 · 643 阅读 · 0 评论 -
深入理解JMeter性能测试日志:分析并发用户行为与吞吐量指标
Created the tree successfully using script/XXX查询.jmx。原创 2024-03-27 12:32:46 · 748 阅读 · 0 评论 -
在 JMeter 中使用 JSON 提取器提取特定条件下的值
当你需要在 JMeter 中对接收到的 JSON 响应进行处理时,JSON 提取器是一个非常有用的工具。在本文中,我们将讨论如何使用 JSON 提取器来提取特定条件下的值,以满足你的需求。原创 2023-12-14 18:31:17 · 956 阅读 · 0 评论 -
深入理解JMeter中的JSON Extractor
JSON Extractor是JMeter中的一个Post Processor组件,它可以根据JSON Path表达式从HTTP请求的响应结果中提取需要的信息。配置完成后,JSON Extractor会在HTTP请求的响应结果中查找符合JSON Path表达式的值,并将找到的值保存在我们指定的变量中。总的来说,JMeter的JSON Extractor是一款极其强大的工具,只要我们正确地使用,就能轻松地从复杂的JSON响应中提取我们需要的信息。在这个例子中,我们只关心第一个匹配的结果,因此输入。原创 2023-11-14 19:07:00 · 878 阅读 · 0 评论 -
Linux系统启动jmeter可视化界面
目的:方便在Linux系统调试jmeter脚本。操作:Linux启动jmeter可视化界面,不能使用root用户,需要创建新用户,切换到新用户启动jmeter。1. 创建用户 创建一个新的系统用户。[yyuser@zwzf-cwy-lzy-7-new ~]$ sudo -i[root@zwzf-cwy-lzy-7-new ~]# useradd jmeter[root@zwzf-...原创 2023-04-06 19:41:00 · 1059 阅读 · 0 评论 -
Oracle:ORA-00911: invalid character解决办法
问题记录:用jmeter执行sql语句,报错:ORA-00911: invalid character。解决方法:sql语句末尾“;”导致,去掉即可解决。过程记录:使用jmeter执行如下sql语句,响应结果:ORA-00911: invalid characterupdate ma_emp set EMP_CODE='${uname}',EMP_NAME='${uname}',AS...原创 2022-10-20 18:35:00 · 2767 阅读 · 0 评论 -
通过jmeter,将数据库数据查询出来并打印
1. 连接数据库 1.1 添加jdbc驱动路径 1.2 JDBC Connection Configuration 1.3 JDBC Request2. 查询数据库数据并打印 2.1 定义变量 在用户定义的变量,设置查询打印文本名称及路径、查询结果对应的时间 时间戳:${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} ...原创 2022-08-01 16:11:00 · 668 阅读 · 0 评论 -
通过jmeter,造50个单位的并发用户数据(用户从上至下每50个单位依次排序)
单位数据:loginfoll.csv #50个单位的信息(agencyCode,passwd,agencyname,rgcode)用户数据:50个单位,每个单位200个用户(用户名为agencyCode+i,0<i<201)需要写入的loginfo.csv:要求写入10000个用户,从上至下每个单位抽出一个用户参与排序实现工具:jmeter的beanshell后置处理...原创 2022-08-01 17:24:00 · 409 阅读 · 0 评论 -
通过jmeter连接人大金仓数据库
某项目用的人大金仓数据库,做性能测试,需要用jmeter来连接数据库处理一批数据。jmeter连接人大金仓,做个记录。1. 概要 在“配置元件”中添加“JDBC Connection Configuration”。配置如下图:2. 重点:配置人大金仓数据库连接 下面着重介绍人大金仓数据库连接配置: Database URL输入:jdbc:kingbase8://192.1...原创 2022-08-15 01:26:00 · 577 阅读 · 0 评论 -
【jmeter】将“察看结果树”中的数据保存到本地
操作说明:1. “察看结果树”页面,【配置】导出项:2. “察看结果树”页面,【文件名】选框输入导出文件及路径:3. 点击jmeter【启动】按钮,响应结果写入导出文件4. 查看导出文件拓展配置参数介绍参数介绍:◆ As XML:保存为xml格式◆ Elapsed Time: 请求的消耗时间,从请求发送到接收完毕全程耗时(经常用)◆ Response ...原创 2022-08-29 15:21:00 · 2388 阅读 · 0 评论 -
配置jmeter环境变量
好记性不如烂笔头。本文采用jmeter5.4.1版本。1. Linux系统1.1 将jmeter上传到安装目录并解压 jmeter5.4.1链接: https://pan.baidu.com/s/1G8mmfus828nojVwjKcyqig 提取码: k4g9 安装目录: /optcd /opt unzip apache-jmeter-5.4.1.zip1....原创 2022-09-09 15:41:00 · 267 阅读 · 0 评论 -
介绍一个jmeter录制脚本谷歌插件 —— metersphere-chrome-plugin
该插件可将用户在浏览器操作时的 HTTP 请求记录下来并生成 JMX 文件(JMeter 脚本文件)。1. 插件解压 插件下载链接:https://pan.baidu.com/s/1Alh_Z7CKCemXYNWUtnUlTA 提取码:33oi 将该插件解压2. 插件安装 ① 谷歌浏览器输入chrome://extensions/ 进入扩展程序安装界面,打开【开发...原创 2022-09-15 14:29:00 · 1257 阅读 · 0 评论 -
javax.script.ScriptException: ReferenceError: “window“ is not defined in security.js at line number
使用jmeter执行加密登录接口的测试遇到的问题。问题记录:今天使用jmeter执行加密登录接口的测试,因为测试环境的应用包是以前的老版本(可能有两年了),所以需要替换加密文件:security.js//jmeter JSR223 预处理程序load("security.js");//pwd1 = vars.get("passwd");function RSA(){ va...原创 2022-09-21 17:32:00 · 1475 阅读 · 0 评论 -
jmeter——JSON提取器(从上一个请求的响应结果提取参数传给下一个请求)
记录一个参数提取过程,可供后续参考。1. 查看响应报文的结构 将上一个请求的响应报文复制到Notepad++编辑器JSON Viewer是Notepad++的JSON插件,Notepad++的Plugins Admin可以安装管理插件,它不仅可以格式化JSON字符串,还可以打开JSON查看器查看结构化的JSON。 使用插件JSON Viewer的Format JSON功能...原创 2022-09-22 14:44:00 · 1232 阅读 · 0 评论 -
javax.script.ScriptException: Cannot find engine named: ‘nashorn‘, ensure you set language field in
jmeter运行脚本报错,跟java版本有关,做个记录。1. 问题记录:执行登录接口测试,登录失败。点击jmeter右上角【黄色!】,查看错误日志。显示如下:2022-09-23 10:29:53,642 ERROR o.a.j.m.JSR223PreProcessor: Problem in JSR223 script, JSR223 预处理程序javax.script.Script...原创 2022-09-23 11:06:00 · 349 阅读 · 0 评论 -
jmeter时间戳
时间戳这东西,在jmeter中会经常用到,自己又总是记不住,做个记录。jmeter自带的时间戳函数: ① ${__time(yyyy-MM-dd,)} ,对应时间示例:2022-09-24 ② ${__time(yyyy-MM-dd HH:mm:ss,time)} ,对应时间示例: 2022-09-24 21:32:10 ③ ${__time(yyyy-MM-dd HH...原创 2022-09-24 21:39:00 · 1389 阅读 · 0 评论 -
jmeter执行报错:java.lang.UnsupportedClassVersionError解决办法
做个记录。问题记录: jmeter版本:5.4.1 本地Java版本:1.8.0_151 执行jmeter,报错:2022-10-14 12:06:27,372 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[填报角色分配 1-1,6,main]java.lang.UnsupportedClassVersionE...原创 2022-10-14 21:11:00 · 1127 阅读 · 0 评论 -
通过jmeter上传/导入文件
系统性能测试,需要模拟生产环境搭建应用服务和建造环境数据,最大限度的还原生产环境,使系统性能测试的指标更加合乎实际,真实、准确。如某项目财务系统中的薪资管理模块做工资计算的压测,需要在系统内造179家单位、每家单位500个用户(400人在职、100人退休)...,最终要分别为每家单位的500个用户导入各项工资数据(用于计算)。造数据过程中,每家单位切换分别导入在职、退休人员的工资数据,会非常...原创 2022-12-06 19:50:00 · 1338 阅读 · 0 评论 -
Oracle查询,将某列查询结果用逗号隔开,拼接成一行(listagg函数、xmlagg函数)...
需求:Oracle数据库,通过查询,将查询字段的该列结果用逗号拼接成一行。1. 查询语法1.1 listagg函数select listagg(查询拼接字段,',') within group (order by 排序字段) as 查询显示字段 from 表名 where 条件1.2 xmlagg函数select xmlagg(xmlparse(content 查询拼接字段...原创 2022-12-07 15:33:00 · 7494 阅读 · 0 评论 -
jmeter:json提取一个字段的多个值,用逗号分隔
目的:将接口响应结果中的一个字段的所有值同时提取,作为参数传给下个接口1. 格式化接口响应结果 获取下图中所有object里面的EMP_UID2. json提取JSON Path expression:*代表匹配所有objectMatch No.(0 for Random):;-1代表匹配所有EMP_UIDCompute concatenation var(suffix_AL...原创 2022-12-09 16:58:00 · 461 阅读 · 0 评论 -
混合场景性能测试
做性能测试,完成所有单个重点场景的性能测试之后(单场景的目的一般是为了发现缺陷、发现瓶颈),还需要做一个混合场景的性能测试(评估系统整体性能)。1. 场景设计 使用jmeter 做混合场景设计:在一个测试计划下,将每个重点测试场景各创建为一个线程组,同时运行多个线程组。 注:测试计划中的 ① 独立运行每个线程组、② 主线程结束后运行teardown线程组均不勾选,否则不会同时运行多个...原创 2022-12-20 21:46:00 · 192 阅读 · 0 评论 -
Jmeter+Ant+Jenkins接口自动化测试平台
一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。 Jmeter 支持接口的测试, Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。1. 环境依赖JDK环境配置Jmeter安装Ant安装环境变量配置Jenkins安装2. 环境准备2.1 jdk环境配置 参考:http...原创 2023-01-11 16:32:00 · 123 阅读 · 0 评论 -
jmeter:内存溢出解决办法
使用jmeter执行性能测试,报错:java.lang.OutOfMemoryError: Java heap space需要对jmeter的jvm进行调优。记录如下:1. 问题记录及分析: 使用jmeter执行性能测试,某场景150并发时,出现报错。日志如下:Creating summariser <summary>Created the tree successf...原创 2023-03-01 21:38:00 · 284 阅读 · 0 评论 -
Jmeter线程组间传递变量
做接口测试,上一个线程组(A线程组)提取的变量,需要传递给下一个线程组(B线程组)使用。故需要将A线程组内提取的变量设置为全局变量。实现如下:1. json提取变量(A线程组) 通过json提取器,将A线程组请求中的billId提取出来,如下:2.BeanShell 取样器定义变量(A线程组) 添加【BeanShell 取样器】,在【函数助手】调用setProperty函数,“属...原创 2023-04-10 20:07:00 · 280 阅读 · 0 评论 -
jmeter参数化导致反斜杠(\)被转义
前情提要:在用jmeter做接口测试时,对请求体进行参数化,执行结果报错。但在不参数化的情况下,执行结果成功,而且参数化后,请求中读取到的参数是正确的(执行失败与执行成功时的参数一致)。问题排查:参数化后,请求中的两个反斜杠(\)变成了一个反斜杠(\)。问题原因:参数化的时候,${}把反斜杠给转义了。解决办法:把单反斜杠替换成双反斜杠。问题发现、排查及解决过程,如下:1. 请求未参数...原创 2023-04-14 19:00:00 · 1335 阅读 · 0 评论 -
jmeter对请求响应结果进行整段内容提取方法
通过正则表达式提取器,将上一个请求(A请求)响应数据中的整段内容提取,传给下一个需要该提取数据的请求(B请求)。1. 请求接口响应结果2. 添加正则表达式提取器 设置变量名为“tt”,正则表达式如下:(提取从"WORKFLOW_CALLBACK_DATA"到"3526115983220169634"的中间内容)"WORKFLOW_CALLBACK_DATA":."(.*)":"35...原创 2023-04-14 19:55:00 · 511 阅读 · 0 评论 -
Jmeter:“An error occurred: Can‘t connect to X11 window server using ‘lacalhost:12.0‘ as the value of
做各种不同项目的性能测试,都需要在项目本地压测服务器配置jmeter,需要时还要调出jmeter图形化界面来调试jmeter脚本。标题中的问题遇过多次,这次做个记录。1. 启动jmeter报错 在配置好jmeter环境变量的linux系统执行jmeter命令,报错如下:[root@localhost ~]# jmeter= = = = = = = = = = = = = = = =...原创 2023-06-12 16:05:00 · 436 阅读 · 0 评论 -
JMeter 分布式压测
JMeter 分布式压测是指使用多台机器协同工作,对被测系统进行大规模的并发测试。这种方案可以有效提高测试效率和覆盖面,并能够更好地模拟真实用户场景。JMeter 分布式压测需要一个 Master 节点来控制整个测试过程,以及多个 Slave 节点来执行真正的压测任务。下面是使用 JMeter 进行分布式压测的基本步骤:1. 在 JMeter 主节点和从节点上,安装 Java 和 JMete...原创 2023-06-20 19:24:00 · 174 阅读 · 0 评论 -
在Linux环境下通过命令行执行JMeter脚本后查看响应结果的配置
在Linux环境中进行性能测试时,我们可能会遇到一定程度的报错。如果无法打开JMeter的GUI界面,但又需要查看响应结果,可以按照以下步骤进行配置:1. 打开JMeter的安装目录,在`bin/`目录下找到`jmeter.properties`配置文件。2. 使用文本编辑器打开`jmeter.properties`文件,并在文件末尾添加以下配置信息:jmeter.save.savese...原创 2023-07-07 11:45:00 · 1044 阅读 · 0 评论 -
JMeter脚本报错:Cannot find engine named: ‘javascript‘的解决方法
本文将介绍如何解决在JMeter版本5.4.1下执行脚本时出现的错误信息“javax.script.ScriptException: Cannot find engine named: 'javascript'”。通过将本地JDK版本从18.0.1.1更改为1.8.0_151来解决此问题。当使用JMeter进行脚本执行时,有时可能会遇到以下错误信息:javax.script.Script...原创 2023-07-12 19:32:00 · 563 阅读 · 0 评论 -
locust与jmeter测试过程及结果对比
JMeter和Locust都是强大的性能测试工具,各自拥有自己的优势和专注领域。JMeter提供了全面的功能和基于GUI的界面,适用于复杂的场景和非技术人员。相比之下,Locust采用了以代码为中心的方法,使开发人员可以创建灵活且易于维护的测试场景。今天对同一系统的同一个测试场景,在本人电脑分别用locust与jmeter进行了压力测试。下面是测试过程及结果对比:1. 测试脚本内容lo...原创 2023-07-22 12:22:00 · 264 阅读 · 0 评论 -
使用JMeter连接达梦数据库的步骤和示例
引言:本文将介绍如何使用JMeter连接达梦数据库,并提供连接达梦数据库的步骤和示例,帮助您快速开始进行数据库性能测试。步骤:1. 下载并安装JMeter:首先,从JMeter官方网站下载并安装最新版本的JMeter。2. 添加JDBC驱动:下载并添加达梦数据库的JDBC驱动jar文件到JMeter的lib目录下,例如`JMETER_HOME/lib`。 达梦驱动分享链接:https...原创 2023-07-26 19:42:00 · 500 阅读 · 0 评论