JMeter对各种类型接口的测试
默认做接口测试前,已经给出明确的接口文档(如,http://test.nnzhp.cn/wiki/index.php?doc-view-59);本地配好了JMeter 3.x的运行环境;
打开JMeter,添加一个线程组和该线程组的查看结果树。以下的几种接口请求我们都在这个线程组中添加和运行。
如果你的JMeter返回数据是乱码,解决办法是,在JMeter安装路径的bin目录下,打开文件jmeter.properties,把Sampleresult.default.encoding的值改为 utf-8 即可。
1. 普通的以key-value传参的get请求
e.g. 获取用户信息
添加http请求;填写服务器域名或IP;方法选GET;填写路径;添加参数;运行并查看结果。
2. 以Json串传参的post请求
e.g. 获取用户余额
添加http请求;填写服务器域名或IP;方法选POST;填写路径;在参数区域选Body Data标签;写入Json串参数,注意Json格式;运行并查看结果。
*注意:
Json传参时,往往参数相对复杂,规模较大,很多时候是Json串再嵌套Json串,在写入body的时候如果哪里格式不对会影响传参,而JMeter本身是不能对Json进行格式校验的(Postman可以进行简单的Json校验),我们可以借助这个网站来校验你的Json串的格式,www.bejson.com 再把确保格式正确的Json串填入body。
3. 请求时需要http权限验证
e.g. 修改用户余额
添加http请求;填写服务器域名或IP;方法选POST;填写路径;填写参数;
添加授权管理器,右击线程组->添加->配置元件->HTTP授权管理器;
打开HTTP授权管理器,在基础URL添加路径;填写用户名、密码(接口文档会给出);添加域即请求的服务器域名或IP;其他默认;
运行请求并查看结果。(该接口暂时有问题请求返回500,只要掌握需要权限验证的接口如何做就好)
4. 请求时需要添加请求标头
e.g. 获取用户信息2
添加http请求;填写服务器域名或IP;方法选POST;填写路径;填写参数;
添加HTTP信息头管理器,右击线程组->添加->配置元件->HTTP信息头管理器;
打开HTTP信息头管理器,参照接口文档填写好header信息;
运行请求并查看结果。
5. 请求时需要添加Cookie
e.g. 修改用户余额2
添加http请求;填写服务器域名或IP;方法选POST;填写路径;填写参数;
添加HTTP Cookie管理器,右击线程组->添加->配置元件->HTTP Cookie管理器;
打开Cookie管理器,参照接口文档填写好Cookie信息;
发送请求并查看结果。
6. 请求通过某个接口上传文件
e.g.上传文件
添加http请求;填写服务器域名或IP;方法选POST;填写路径;在参数区域选Files Upload标签,添加文件全名(包含绝对路径,也可以点击浏览按钮添加),写入参数名;发送请求并查看结果。
JMeter的参数化
1. 指定参数值
这种方法常用来解决线程组中多个请求共用相同的数据,比如我们以上所有请求都有相同的IP地址,当地址改变时可以一改全改。
添加用户定义的变量,右击线程组->添加->配置元件->用户定义的变量;
打开用户定义的变量,添加变量,写好名称和值;
脚本中用到该值的所有地方都可以引用这个变量名了,引用变量的格式为 ${变量名};
2. 借助函数生成参数
测试过程中,有时候数据不适合被指定,可选择借助函数来生成,以下是最常用的几种。
- 用函数生成随机数:(__Random)
在Jmeter中点击 选项->函数助手对话框;
在弹出的对话框中选__Random,填写随机数的范围,点击生成按钮,就看到你需要的字符串了;
尝试在请求中使用生成的随机数,把刚拷贝的字符串粘贴到请求的参数里;
发送请求,查看请求中参数值的情况,参数生效了。
- 用函数生成当前时间:(__time)
- 用函数生成通用的唯一识别码:(__UUID)
3. 文件传参
用于读取在文件中维护的参数,如参数文件内容如下;
注意,Jmeter读取文件总的参数是从第一行就开始了的,千万不要犯下面的错误。
在Jmeter中右击线程组->添加->配置元件->CSV Data Set Config;
打开设置窗口,写入参数文件的全名(含绝对路径),变量名,Delimiter就用默认的逗号,表示在准备参数文件时参数表的列之间用逗号隔开;
在请求中引用参数时应该是酱紫的:${username} ${pwd},用它们来顶替对应的参数值。
4. 关联传参
在线程组内,当你想用一个请求的响应结果作为另一个请求的入参时就需要用到关联。
- 用正则表达式关联
思路是先从某个请求的响应数据中提取你需要的值,在把这个值在另一个请求中入参,操作如下:
在需要被提取响应数据的请求下添加正则表达式提取器,右击添加->后置处理器->正则表达式提取器;
在正则表达式提取器中填写 引用名称,不说也知道用途;正则表达式,最简单的办法是在响应数据中把要提取的目标值左右若干字符包含目标值的一行拷贝出来,粘贴到正则表达式框内,在把目标值用一对小括号替换,括号里用添上合适的匹配符本例如(.*); 注意在响应数据中拷贝时尽量避开需要转义的字符如果不能避开,请转义;模板通常固定填$1$;匹配数字1代表区匹配的第一个值;缺省值是在匹配失败时取得的值,通常用来检查匹配是否成功;
用${age}入参给另一个请求,查看结果传参成功。
- 用Json Path Extractor 插件关联
只针对Json格式的Response 取值,右击请求添加->后置处理器->JSON Path Extractor;
在JSON Path Extractor中填入引用名和JSONPath Expression;
在另一个请求中入参,也和上面的结果一样转参成功。
注意,JSON Path Extractor这个插件只能在Jmeter3.x以上的版本安装。
Jmeter添加断言检查结果
右击请求添加->断言->响应断言;
添加并写入希望在响应结果中看到的内容;
发送请求,查看结果;
Jmeter操作Mysql
测试计划添加.jar包 mysql-connector-java-5.1.7-bin.jar用于使Jmeter可以读取Mysql;
线程组添加 JDBC Connection Configuration (添加->配置元件-> JDBC Connection Configuration)用于配置Jmeter和Mysql的连接;
JDBC Driver class是固定的,Jmeter操作各类数据的Driver参考下图;
线程组添加JDBC Request(添加->Sampler-> JDBC Request) 用于写sql来操作Mysql;
发送请求,成功访问Msql。
相关推荐
JMeter是一款开源且功能强大的性能测试工具,专用于接口及应用性能评估。它以其灵活性、易用性以及跨平台特性,在IT行业中广受好评。JMeter最初设计为HTTP服务器压力测试工具,但随着时间的推移,它已经发展成为一个...
### JMeter多接口测试性能测试知识点详解 #### 一、接口业务流程 ##### 1. 获取 token 接口 - **URL**: `http://192.168.1.4:9900/rest/getToken/` - **功能**: 通过此接口获取系统中的token,用于后续接口的身份...
《使用JMeter 4.0进行微信小程序性能测试详解》 微信小程序的广泛使用使得其性能测试变得至关重要,本文将详细介绍如何使用JMeter 4.0这一强大的性能测试工具对微信小程序进行压力测试。JMeter是一款由Apache开发的...
Jmeter接口自动化测试框架 Jmeter是一款功能强大且广泛应用于接口自动化测试的工具,它提供了丰富的测试功能和插件,能够满足各种测试需求。本文档主要介绍了如何使用Jmeter实现接口自动化测试,包括安装Jmeter和...
总结来说,JMeter作为一个强大的性能测试和负载测试工具,对于测试API接口的性能和稳定性具有重要作用。通过对JMeter工具的熟练运用,测试人员可以对各种类型的API接口进行详尽的测试,提前发现潜在问题,提高软件...
《JMeter多接口测试性能测试详解》 JMeter是一款强大的性能测试工具,尤其在多接口测试方面,它能提供详尽的数据分析和测试方案。本文将深入探讨如何使用JMeter进行多接口性能测试,这对于初学者来说是一份极具价值...
使用Jmeter做接口性能测试的一个简易Demo
### JMeter接口测试详解 #### 一、引言 在软件开发过程中,接口测试是非常重要的一环,它能够确保各个组件之间能够正确无误地通信。对于初学者来说,掌握如何使用工具进行高效的接口测试至关重要。本文档将详细...
尽管它最初是为了性能测试而设计的,但它同样适用于功能测试,特别是HTTP接口测试。 #### 一、HTTP接口测试整体方案 **第一步:需求分析与获取接口文档** - **需求分析**:首先需要明确测试的目标是什么,需要达到...
Apache JMeter是一款强大的开源性能测试工具,主要用于测试Web应用,但也可用于其他类型的接口和服务。在JMeter 4.0版本中,它提供了全面的功能,帮助测试人员进行负载测试、压力测试和功能验证,确保软件系统在高...
### JMeter性能测试接口知识点详解 #### 一、接口工具分类及特点 1. **接口测试工具** - **特点**:这类工具的功能较为简单,主要用于模拟和发送HTTP请求,并展示返回的接口数据。 - **示例工具**:...
本文将深入探讨JMeter在性能测试和接口测试方面的应用,以及如何利用JMeter 5.4.1进行有效的测试。 ### 一、JMeter 5.4.1新特性 1. **增强的UI体验**:JMeter 5.4.1提供了更友好的用户界面,包括更好的键盘导航、...
jmeter 接口压力测试脚本。 web服务器端接口,jmeter登录脚本。
Apache Jmeter作为一个强大的接口测试工具,不仅能够执行基本的接口功能测试,还能够进行负载和性能测试。它的灵活性、易用性和丰富的扩展性使其成为IT行业中进行接口测试的首选工具之一。无论你是新手还是经验丰富...
【性能测试-Jmeter.pptx】的培训内容涵盖了性能测试的多个重要环节,包括数据制造、性能测试方案设计、脚本执行、性能监控与调优以及编写性能测试报告。以下是对这些知识点的详细阐述: 1. **如何制造数据**: - ...