Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >学习总结——JMeter做http接口功能测试

学习总结——JMeter做http接口功能测试

作者头像
呆呆
修改于 2021-05-25 02:54:16
修改于 2021-05-25 02:54:16
1.9K0
举报
文章被收录于专栏:centosDaicentosDai

默认做接口测试前,已经给出明确的接口文档(如,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。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Jmeter性能测试 -2 熟悉Jmeter使用
做性能测试之前要对Jmeter有一定的了解,本文通过案例,帮大家快速上手Jmeter。如果你已经在用,那么可以忽略。
孟船长
2022/02/23
2.1K0
Jmeter性能测试 -2 熟悉Jmeter使用
Jmeter接口测试+压力测试
meter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用。
顾翔
2019/12/11
8.4K1
Jmeter接口测试+压力测试
【Jmeter入门】2.JMeter实现前后端接口性能测试
本文讲解如何使用JMeter实现前后端接口的性能测试。JMeter入门实践可参考《【NGINX入门】16.使用JMeter压力测试工具测试NGINX限流配置实践》 《【Jmeter入门】1.JMeter界面及监听器介绍》。
辉哥
2021/04/16
1.9K0
【Jmeter入门】2.JMeter实现前后端接口性能测试
全网最全最细的jmeter接口测试教程以及接口测试流程详解
Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试。
全栈程序员站长
2022/06/29
1.2K0
全网最全最细的jmeter接口测试教程以及接口测试流程详解
高效管理JMeter中的Cookies:测试工程师的全面指南
在性能测试和自动化测试中,Cookie管理是一个至关重要的环节。Apache JMeter提供了强大的Cookie管理器,帮助测试工程师在模拟用户会话和维持状态时更加方便。本指南将详细介绍如何在JMeter中配置和使用Cookie管理器。
霍格沃兹测试开发Muller老师
2024/06/12
3360
Jmeter快速上手之接口测试
压测工具 Jmeter 除了可以做性能测试,还可以做接口测试。当接口测试趋向于自动化方向时,就可以使用很典型的接口自动化测试框架 Jmeter + Ant + Jenkins。
wangmcn
2022/07/26
2.7K0
Jmeter快速上手之接口测试
jmeter使用个人总结(很细很全)
Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。
魔都虫师
2020/05/21
4.7K0
jmeter使用个人总结(很细很全)
Jmeter(十六) - 从入门到精通 - JMeter前置处理器(详解教程)
  前置处理器是在发出“取样器请求”之前执行一些操作。如果将前置处理器附加到取样器元件,则它将在该取样器元件运行之前执行。前置处理器最常用于在取样器请求运行前修改其设置,或更新未从响应文本中提取的变量。前置处理器主要是用来处理请求前的一些准备工作,比如参数设置、环境变量设置等等。
北京-宏哥
2020/07/13
5.5K1
性能工具之Jmeter小白入门系列之四
青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴,不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。
高楼Zee
2020/06/02
2.5K0
性能工具之Jmeter小白入门系列之四
JMeter(连载2)
接下来就可以用JMeter修改录制和脚本了,在修改之前,介绍一下一些最基本的组件功能。由于JMeter功能非常强大并且支持很多控件,所以介绍所有的组件是不可能的。
顾翔
2019/12/12
6460
JMeter(连载2)
JMeter详细使用手册
Jmeter可以作为web服务器与浏览器直接的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,jmeter就可以通过线程来模拟真实用户对web服务器的访问压力。
互联网金融打杂
2022/08/01
3.9K0
JMeter详细使用手册
jmeter相关面试题_jmeter面试题及答案
1、首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,入参、出参,token鉴权,返回格式等信息。 2、然后使用Postman或Jmeter工具执行接口测试,一般使用Jmeter的步骤是这样的:  a、首先新建一个线程组。  b、然后就是新建一个HTTP请求默认值。(输入接口服务器IP和端口)  c、再新建很多HTTP请求,一个请求一个用例。(输入接口路径,访问方式,参数等)  d、然后创建断言和查看结果树。 3、最后调试并执行用例,最后编写接口测试报告 4、其实我们做接口的时候也碰到了蛮多的问题,都是自己独立解决的,比如返回值乱码(修改jmeter的配置文件为UTF-8编码方式),比如需要登录后才能取得token鉴权码并且这个鉴权码在下面的请求中需要用到(使用正则表达式提取器提取token的值等。
全栈程序员站长
2022/11/11
3.6K0
使用Jmeter测试Restful接口
一、添加线程组等元件 添加线程组 1. 添加线程组,Jmeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组,选中Test Plan,点击右键,添加》Threads》线程组 添加用户参数
jmeter技术研究
2019/10/19
1.3K0
使用Jmeter测试Restful接口
2022年面试工具篇Jmeter接口面试题及答案「建议收藏」
•在项目中如何用jmeter进行http接口测试?•Jmeter 常用元件有哪些?•jmeter 如何管理cookie和session信息?•jmeter中如何实现关联?•jmeter中断言方式?•jmeter参数化的方式有哪几种可以实现?•Jmeter怎么录制,怎么过滤?•JMeter结果树响应数据中文乱码如何解决?•用户定义的变量和用户参数的区别?•Jmeter 怎么实现持续集成测试?
全栈程序员站长
2022/11/11
1.4K0
如何正确使用JMeter性能测试?紧扣面试实际要求
前段时间专门挑了一段时间在准备面试。经过两次面试后,有一些比较深刻的认识。对于企业要求来说,除了对专业理论知识考究之外,对测试工具这块也是看重的。
憨憨默默成神
2021/10/12
1.6K0
如何正确使用JMeter性能测试?紧扣面试实际要求
Jmeter使用及压测
Apache JMeter是Apache组织开发的基于Java的压力测试工具。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言;
iginkgo18
2021/06/15
9820
性能工具之Jmeter小白入门系列之二
在上一讲中简单的介绍了Jmeter的安装与Http Requet请求,在实际工作,咱们对工具的使用还需咱们进一步学习与操作才能掌握;
高楼Zee
2020/05/26
2.4K0
Jmeter之接口测试使用流程
  采样器:较常用HTTP请求、JDBC Request、SOAP/XML -RPC RRequest
顾翔
2019/12/12
7150
Jmeter之接口测试使用流程
JMeter接口性能测试从入门到精通
我们注意到在同一个系统中,协议+IP+端口号是不会发生改变的,所以我们需要添加HTTP请求默认值
用户11316056
2025/04/07
3610
JMeter接口性能测试从入门到精通
Jmeter(十七) - 从入门到精通 - JMeter后置处理器 -上篇(详解教程)
后置处理器是在发出“取样器请求”之后执行一些操作。取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的。例如系统登录成功以后我们需要获取SessionId,在后面的业务操作中服务器会验证这个SessionId,获取SessionId这个功能过程就可以用后置处理器中的正则表达式提取器来完成。
北京-宏哥
2020/07/16
2.8K0
推荐阅读
相关推荐
Jmeter性能测试 -2 熟悉Jmeter使用
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档