
Jmeter_接口测试
文章平均质量分 63
奔跑在路上you
记录分享测试相关文章
展开
-
Jmeter(37):jmeter导入和导出接口的处理
利用Jmeter测试上传文件,首先可根据接口文档或者fiddler抓包分析文件上传的接口;如下图:以下是我通过fiddler所截取的文件上传的接口1、填写导入接口的信息查看文件上传栏下的填写信息:文件名称:导入文件的路径参数名称:fileMIME类型:为fiddler抓包的Content-Type的值;如下图2、然后就要填写post的内容,此时再看抓包截取的请求内容,如图3、此时,添加结果树,查看响应报文,一直报文件不存在。原创 2024-08-21 10:44:49 · 362 阅读 · 0 评论 -
Jmeter(36):jmeter对图片验证码的处理
在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用;原创 2024-08-21 10:44:29 · 487 阅读 · 0 评论 -
Jmeter(35):nmon性能系统监控工具
Nmon得名于 Nigel 的监控器,是IBM的员工 Nigel Griffiths 为 AIX 和 Linux 系统开发的,使用 Nmon 可以很轻松的监控系统的CPU、内存、网络、硬盘、文件系统、NFS、高耗进程、资源和 IBM Power 系统的微分区的信息Nmon是一款计算机性能系统监控工具,因 为它免费,体积小,安装简单,耗费资源 低,广泛应用于AIX和Linux系统1. CPU2. 内存3. 硬盘IO4. 网络。原创 2024-08-20 13:40:04 · 714 阅读 · 0 评论 -
Jmeter(34):硬件性能监控指标
1.在当前的服务器配置情况,最大的用户数2.平均响应时间ART,找出时间较长的业务3.每秒事务数TPS,服务器的处理能力1.客户端性能测试:web前端性能、app性能2. 网络性能测试3. 服务器应用程序性能4. 服务器硬件性能5. 数据库的性能。原创 2024-08-20 13:39:41 · 1312 阅读 · 0 评论 -
Jmeter(33):利用PerfMon插件收集监控服务器资源指标
在使用Jmeter执行性能测试时,为了尽量减少负载机的资源消耗,一般不建 议使用服务器资源监控的功能。而可以使用第三方工具去监控收集服务器资源。但一些普通的场景(负载小)还是可以利用Jmeter来进行服务器资源监控的。原创 2024-08-20 13:39:23 · 546 阅读 · 0 评论 -
Jmeter(32):利用jmeter插件收集性能测试结果&汇总报告和聚合报告
所有数据写入一个文件:保存测试结果到本地。文件名:指定保存结果。仅错误日志:仅保存日志中报错的部分。仅成功日志:保存日志中成功的部分。配置:设置结果属性,即保存哪些结果字段到文件。一般保存必要的字段信息即可,保存的越多,对负载机的IO会产生影响。Label:取样器名称(或者是事务名)。#样本:取样器运行次数(提交了多少笔业务)。平均值:请求(事务)的平均响应时间,单位为毫秒。最小值:请求的最小响应时间,单位为毫秒。最大值:请求的最大响应时间,单位为毫秒。标准偏差:响应时间的标准偏差。原创 2024-08-20 13:39:04 · 420 阅读 · 0 评论 -
Jmeter(31):jmeter场景的运行架构(本地运行和远程运行)&配置远程负载机
通过图形界面方式运行,该运行方式的可视化界面及监听器动态展示 结果都比较消耗负载机资源,建议大并发时不用,一般进行脚本调试;通过jmeter命令行工具运行以上两个运行方式可参考:https://www.cnblogs.com/YouJeffrey/p/16215959.html运行本地一台Jmeter机器,所有的请求通过该机器发送。用一台Jmeter控制机控制远程的多台机器来产生负载。控制机与负载 机之间通过RMI方式来完成通信。原创 2024-08-20 13:38:47 · 448 阅读 · 0 评论 -
Jmeter(30):jmeter场景的运行方式(GUI运行和命令行运行)&命令行相关参数
通过图形界面方式运行,该运行方式的可视化界面及监听器动态展示 结果都比较消耗负载机资源,建议大并发时不用,一般进行脚本调试;通过jmeter命令行工具运行。原创 2024-08-20 13:38:22 · 670 阅读 · 0 评论 -
Jmeter(29):跨线程组传递jmeter变量及cookie的处理
跨线程组之间不能进行jmeter变量传递,即使在线程组最外面使用用户定义的变量也不行;跨线程组之间也不能进行cookie传递,即使在线程组最外面使用cookie管理器也不行;(可通过后置处理器》BeanShell后置处理程序把jmeter变量和cookie作为jmeter属性进行传递;A、测试数据库操作功能时,用于执行打开数据库连接的操作。B、测试用户购物功能时,用于执行用户的注册、登录等操作。原创 2024-08-20 13:38:00 · 386 阅读 · 0 评论 -
Jmeter(28):jmeter第三方插件管理工具安装
第一步:下载 jmeter-plugins-manager-1.6.jar网盘地址:链接:https://pan.baidu.com/s/1PqDD8eSouaz9nJmpcC4Wmw提取码:sa5e第二步:把该jar包放置到:jmeter安装路径/lib/ext下第三步:重启jmeter,在选项下可以看见插件管理1、在jmeter的选项菜单》插件管理(Plugins Manager) 2、在可用的插件中找到jpgc插件并勾选后,再点击右下角的Apply Changes and Restart JMeter原创 2024-08-20 13:37:41 · 318 阅读 · 0 评论 -
Jmeter(27):jmeter的线程组元件&第三方插件的线程组压力和负载线程
达到多少个并发,比如需求是达到100个并发 后持续加压,这里就是100,也就是并发的最高点;启动第一个线程之前,需要等待N秒,如果这里是0, 表示不等待,直接启动;设置最开始时启动N个线程,一开始启动多少个线程,如 开始启动30个线程;表示每隔 N2秒,在N3秒内启动几个线程,如每隔10s在5s内启动10个线程;单台负载机全部线程加载完毕,持续运行多少秒;表示每隔N2s,停掉N1个线程;Start Threads Count:当前行启动的线程总数。原创 2024-08-20 13:37:10 · 651 阅读 · 0 评论 -
Jmeter(26):jmeter_BeanShell脚本&通过BeanShell进行加解密方法
备注:在上一家公司的经历,一个web网站,密码进行加密传输,通过和开发沟通了解到密码是通过MD5加密的,开发人员对密码加密的逻辑是MD5加密后的字符串的前后各加三个任意字符,后台只对前后三个任意字符的中间字符串进行解密,来达到密码加密的逻辑;所以遇到密码加密的情况,需要和开发沟通了解加密的逻辑是怎么样的,才能做接口自动化测试;链接:https://pan.baidu.com/s/1AANpGTJbcUX4bhhMkwPNKA。通过察看结果树中的调试取样器可看到加密后的值;原创 2024-08-20 13:36:48 · 948 阅读 · 0 评论 -
Jmeter(25):jmeter_HTTP Cookie管理器
HTTP Cookie管理器可以像浏览器一样自动存储和发送cookie,以这种自 动收集的方式收集到的cookie不会在cookie manager中进行展示,但是运行后, 可以通过 查看结果树(监听器)可以查看到cookie信息。使用线程组的设置来控制清除cookie,建议与线程组设置中的不勾选Same user on each iteration 一起使用来模拟每次迭代登录使用不同session登录的情况。路径:响应体cookie中的Path,表示该路径下的所有请求都可以用。Cookie的管理策略。原创 2024-08-20 13:36:28 · 461 阅读 · 0 评论 -
Jmeter(24):jmeter_逻辑控制器_随机控制器&随机顺序控制器
当该控制器下有多个子项时,它会执行它下面的每个子项,只不过执行顺序 是随机的。如果勾选了此项,随机控制器下的子控制器中的多个子项只会被执行一个。当该控制器下有多个子项时,每次循环会随机执行其中一个。原创 2024-08-20 13:35:49 · 236 阅读 · 0 评论 -
Jmeter(23):jmeter_逻辑控制器_仅一次控制器
在进行压测时,往往类似登录等接口只需要一次,其他的接口需要循环测试。这里就会用到控制器中的仅一次控制器。只要放置在控制器的请求,不管在哪种 情况下,都只执行一次。原创 2024-08-20 13:35:30 · 206 阅读 · 0 评论 -
Jmeter(22):jmeter_逻辑控制器_交替控制器
Interleave across threads:勾选此项后,多线程运行脚本时,交替控制器依然生效, 例如线程1执行了HTTP请求,那么线程2将直接执行简单控制器1。忽略子控制模块:如果勾选此项,交替控制器将子控制器像单一请求元素一样,一次 只允许一个请求/控制器(但如果交替控制器下有事务控制器时,则不会执行事务控制器下的请求)交替控制器指每次运行一次时在交替控制器下的采样器只执行一个;该控制器包含的取样器步骤在每次循环中交替执行。原创 2024-08-20 13:35:11 · 243 阅读 · 0 评论 -
Jmeter(21):jmeter_逻辑控制器_循环控制器
如果线程组本身已经设置了循环次数的话,那循环控制元件控制的子节点 的循环次数为线程组设置的循环次数乘以循环控制器设置的循环次数的结果(例如: 线程组设置循环数为2,循环控制器设置循环数为3,则循环控制器控制的节点循环 次数为2*3,6次)循环次数:设置该控制器下的请求的循环执行次数。永远:勾选上的话,会一直循环,即所谓死循环。原创 2024-08-20 13:34:41 · 182 阅读 · 0 评论 -
Jmeter(20):jmeter_逻辑控制器_简单控制器
它是最基本的控制器,对jmeter测试运行没有任何影响,可以将一些请求归 集在一个简单控制器中,视为一个模块,使得脚本结构更清晰。原创 2024-08-16 10:08:38 · 204 阅读 · 0 评论 -
Jmeter(19):jmeter_逻辑控制器_事务控制器
如果事务控制器下有多个采样器(请求),勾选后,在察看结果树中不仅可以看到事务控制器,还可以看到每个采样器,并且事务控制器定义的事务是否成功取决于子事务是否都成功,任何一个失败代表整个事务失败。性能测试中,事务指的是从端到端,一个完整的操作过程,比如一次登录、一次 筛选条件查询,一次支付等;技术上讲:事务就是由1个或多个请求组成的。事务控制器类似简单控制器,把单个或者多个请求做成一个整体业务,它包含了2个选项,更能突出事务的概念。原创 2024-08-16 10:08:19 · 188 阅读 · 0 评论 -
Jmeter(18):jmeter_定时器
模拟用户组数据设置为10,超时时间设置为5秒 ==》用户1第一个到达同步定时器开始计时,如果3秒钟,10个都到了,就一起释放执行后续的请求;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。以上图中的同步定时器为例,在登录1请求下添加同步定时器,如果线程组的线程数为5,那么在5个用户都到登录1的请求时会同时执行,可通过表格察看结果;同步定时器顾名思义就是所有的操作同一时间开始执行,通过使用同步定时器可以对某个请求进行并发的操作;配置路径——定时器——固定定时器;原创 2024-08-16 10:08:01 · 713 阅读 · 0 评论 -
Jmeter(17):jmeter计数器
计数器允许用户配置一个起点,一个最大值,增量数,循环到最大值,然后重新开始,继续这样,直到测试结束。如果需要引用的数据量较大,且要求不能重复或者需要递增,那么可以使用计数器来实现。4、执行后查看结果树,每次循环计数器地址一个数字;计数器:允许用户创建一个在线程组之内都可以被引用的计数器。2、在http请求中引用计数器 ${data}3、在线程组中循环次数为10次。如:新增功能,要求名称不能重复。配置路径:配置元件——计数器。原创 2024-08-16 10:07:39 · 363 阅读 · 0 评论 -
Jmeter(16):jmeter接口自动化测试操作流程
4. 在线程组下根据公司接口测试需要新增事务控制器元件作为按模块组织接口 的文件夹(事务控制器元件类似文件夹的含义,暂不具体讲解)6. 在单个接口的测试用例汇总文件夹中继续新增事务控制器作为单个测试用例 的文件夹。4、将excel中的测试用例在jmeter中编写完成(配置信息、数据、断言)5. 在事务控制器下继续新增事务控制器作为单个接口的测试用例汇总文件夹。测试——后端——测试单元、接口——时间:当API开发完成后。测试——前端——测试功能、业务——时间:当前端开发完成后。原创 2024-08-16 10:07:19 · 204 阅读 · 0 评论 -
Jmeter(15):jmeter中元件的执行顺序&作用域
配置元件-->前置处理程序-->定时器-->取样器-->后置处理程序(除非Sampler 得 到的返回结果为空)-->断言(除非Sampler 得到的返回结果为空)-->监听器 (除非Sampler 得到的返回结果为空)后置处理程序(Post-processors):元件在其作用范围内的每一个sampler元件之 后执行。断言(Assertions):元件对其作用范围内的每一个sampler 元件执行后的结果执 行校验。配置元件(config elements ) :元件会影响其作用范围内的所有元件。原创 2024-08-16 10:07:00 · 303 阅读 · 0 评论 -
Jmeter(14):jmeter连接数据库
Jmeter官网的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。JDBC驱动在mysql的官网下载:https://dev.mysql.com/downloads/file/?4、在请求中引用查询到的结果变量,可以结合计数器取每一个结果值:${__V(tname_${index})}4.1、由于只需要在数据库中取一次数据,即 jdbc取样器只需要执行一次,可以使用仅一次控制器;如果第一次返回6行数据,第二次只返回3行数据,那么第一次的6行数据变量会被清除。原创 2024-08-16 10:06:41 · 741 阅读 · 0 评论 -
Jmeter(13):jmeter参数化实现
在实际使用jmeter进行接口测试过程中,我们把一些常用的配置值全部放置到用户定义的变量元件中,方便统一管理。在需要使用到的其他地方通过 ${变量名} 的语法格式进行引用即可。原创 2024-08-16 10:06:24 · 1142 阅读 · 0 评论 -
Jmeter(12):json断言元件
取反,若上述断言结果为true,勾选此项,则断言结果为false;若上述断言结果为false,勾选此项,则断言结果为true。是否添加断言值, 添加的断言值和json返回的字段值 进行比较,等于特定的值。json断言元件与响应断言元件的功能类型,它只针对响应正文为json数据格 式的内容进行断言功能。断言jsonpath表达式截取的值是否存在,这里输 入要检查字段的jsonpath表达式即可;预期空值,勾选这项,则会匹配断言结果为null的情况。右击http请求——断言——json断言。原创 2024-08-16 10:06:05 · 270 阅读 · 0 评论 -
Jmeter(11):响应断言元件
响应断言元件的功能是对接口的响应信息进行自动断言校验,来判断接口测 试得到的接口返回值是否正确。一个请求有多个响应断言,当第一个断言设置该选项,那么如果第一个断言失败后,第二个断言成功,事务还是成功状态(最后的断言必须勾选)取样器的总体成功取决于断言结果与现有的响应状态的结合,当选择 “忽略状态” 复选框时,响应状态被强制成功,再进行本次断言评估。要进行断言的响应字段选择,支持请求信息、响应信息等,其中响应 文本表示通过Apache Tika从各种类型的文档中提取文本。判断响应的状态码是否为200;原创 2024-08-16 10:05:45 · 386 阅读 · 0 评论 -
Jmeter(10):json提取器元件及jsonpath介绍
json提取器与正则表达式提取器功能类似,也是用来截取响应信息的部分保 存到指定的变量中去,不同的是,它只能用来处理响应正文,并且响应正文必须 是json格式的。print(jsonpath(book_dict,"$.store.book[1].price")[0]) # 根节点下子节点store下book的第二个下标的price的值。print(jsonpath(book_dict,"$.store.book[0].title")) # 取根节点下子节点store下book的第一个下标的title的值。原创 2024-08-16 10:05:23 · 1099 阅读 · 0 评论 -
Jmeter(9):jmeter正则表达式提取器元件讲解
比如我们在平时的接口测试工作中,为了验证正则表达式编写取到的值是否 正确,需要反复去执行请求并调试,而使用在线正则表达式测试工具你可以只执 行一次请求,然后把响应正文拷贝出来放入在线正则表达式测试工具中的待匹配 文本处,把写好待验证的的正则表达式去进行验证即可,验证通过,再把正确的 正则表达式放入jmeter该元件中。正则表达式提取器是位于后置处理器中的一个元件,它的作用是在请求发出 并得到响应后,把响应信息中的部分通过正则表达式提取所需值,并将结果存储 到给定的变量名中。常用的正则表达式为 (.+?原创 2024-08-16 10:05:06 · 1081 阅读 · 0 评论 -
Jmeter(8):jmeter模拟http请求实战
1、get请求 http://www.hnxmxit.com/2、带参数的get请求 微信公众号获取token请求3、自定义头部信息的请求 百度搜索请求 https://www.baidu.com/s?wd=猫4、post请求 微信公众号添加用户标签请求注:post请求中如果body中的数据为json,一定要在信息头管理器中加上Content-Type: application/json,标识发送的body为json格式的数据模拟实战参考脚本连接地址:原创 2024-08-16 10:04:34 · 138 阅读 · 0 评论 -
Jmeter(7):jmeter请求默认值元件应用
在公司内部进行测试的时候,一般测试环境访问的接口地址(服务器名称 或IP)、端口、协议一般都是不变的,但http请求取样器每个请求都要求写一遍 这些信息,在实际HTTP请求取样器数量很多的情况下,这样不是很方便,另外 公司内部的测试环境地址进行变更,所有取样器的地址也要做相应修改,这让接 口测试的维护量工作很大,此时我们可以把测试计划中所有的http请求的默认配 置放到HTTP请求默认值中即可。通过右击 -- 配置元件 -- HTTP请求默认值进行新增,然后把需要设置为默 认值的参数配置好即可。原创 2024-08-16 10:04:16 · 223 阅读 · 0 评论 -
Jmeter(6):jmeter设置HTTP信息头管理器模拟请求头
HTTP信息头管理器是在有需要模拟请求头部的时候进行设置的,添加方式 是 右击线程组 -- 配置元件 -- HTTP信息头管理器。HTTP信息头管理器是在有需要模拟请求头部的时候进行设置的,添加方式 是 右击线程组 -- 配置元件 -- HTTP信息头管理器。原创 2024-08-16 10:03:51 · 385 阅读 · 0 评论 -
Jmeter(5):jmeter利用察看结果树查看响应&调试取样器(Debug Sampler)
本属性用于标识一个察看结果树元件,建议使用一个有意义的名称。原创 2024-08-15 10:40:16 · 462 阅读 · 0 评论 -
Jmeter(4):jmeter利用取样器中http发送请求
与自动重定向不同,Jmeter会记录重定向过程中的所有请求响应, 在查看结果树时可以看到服务器返回的内容,如有多个跳转则多个请求都会被记 录下来,此为默认选项。“线程组”的意思:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组 就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户 这些虚拟用户用来模拟访问被测系统。如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 会自动重定向到新的页面,但是Jmeter是不记录重定向的过程内容。原创 2024-08-15 10:39:37 · 1000 阅读 · 0 评论 -
Jmeter(3):jmeter组件&元件介绍
取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响 应时间的最小单元,JMeter 原生支持多种不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同 类型的请求。逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可 以模拟复杂的请求序列。原创 2024-08-15 10:39:01 · 307 阅读 · 0 评论 -
Jmeter(2):jmeter安装与基本配置介绍
JMeter组件以Jar包的形式放置在lib/ext目录下,如果要扩展JMeter组件, Jar包就放在此目录下,JMeter启动时会加载此目录下的Jar包;6、进入jmeter解压目录的bin目录,双击jmeter.bat,即可启动jmeter;2、进入jmeter下载页面:http://jmeter.apache.org/download_jmeter.cgi。验证是否配置成功,通过打开DOS窗口,输入jmeter,看是否能启动jmeter窗口。新增 JMETER_HOME :jmeter解压目录。原创 2024-08-15 10:38:29 · 262 阅读 · 0 评论 -
Jmeter(1):jmeter概述与工作原理
Jmeter通过线程组来驱动多个线程运行测试脚本对被测试服务器发起负载, 每一个负载机上都可以运行多个线程组,Jmeter运行场景不仅可以在GUI方式中 完成,还可以使用命令行,而且命令行运行的方式对于负载机的资源消耗会更小。在运行过程中通过断言来验证结果的正确性,可以通过监听来记录测试结果。控制机:运用多台Jmeter负载机进行性能测试时,被选中作为管理机的那台机器 称为控制机,该台机器也能运行脚本,同时也用来管理远程负载机运行的任务, 并且收集测试结果。远程负载机启动程序,等待控制机连接;原创 2024-08-15 10:37:57 · 285 阅读 · 0 评论 -
Jmeter+ant+jenkins实现持续集成
将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs. jmeter.JMeterTask"这个类,从而成功触发JMeter脚本。https://javaee.github.io/javamail/jmeter执行的脚本。原创 2023-05-21 21:48:25 · 126 阅读 · 0 评论