0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用JMeter开始一个最简单的接口性能测试

Android编程精选 来源:简书 作者:XMeter性能测试云服 2021-10-28 11:24 次阅读

来源丨jianshu.com/p/0e4daecc8122

简介本文由xmeter君写给想了解性能测试和JMeter的小白,适合对这两者了解很少的同学们,如果已经有使用经验的请绕道,别浪费时间:-) 我们将介绍JMeter的使用场景,如何安装、运行JMeter,以及开始一个最最简单的测试。

你还徘徊在JMeter的门口吗?别犹豫了,跟着本文做完,你就可以开启你的JMeter之旅了。

JMeter是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能。近来,JMeter因为其使用简单,现在也被社区作为接口测试工具。..。.. 啥?什么是性能测试,怎么又来了个接口测试?

好吧,xmeter君举个栗子,你开了一个网店,兴冲冲地准备双十一大干一把,没想当天活动的时候大量用户一访问你的网店,你的网店挂了,那怎么办?办法就是在实际搞活动之前,先测试一下以确认系统能承受那么多的用户,当然测试的时候我们不需要请真正的这么多实际用户,否则得花多少钱啊,JMeter就是那个能帮助模拟大量用户访问你网站的一个软件。

对,而且它是开源的,不花钱!那个接口测试呢,这里大概了解一下就可以了,就是验证你的网店应用逻辑有没有问题的,比如你做打折活动的时候,结算的时候金额别出错,要不客户找你麻烦不是?

JMeter下载和安装JMeter可以在JMeter的官方网站下载,xmeter君写本文的时候(2016/11)可以下载到的最新的版本是3.0,

下载后解压到你系统下的任意目录,我们称该目录为%JMETER_HOME%,然后运行%JMETER_HOME%injmeter.bat文件,怎么样,JMeter出来了吗?嗯!?等等,好像报错了。

仔细看一下报错原因,原来是Java没安装,因为JMeter是用Java写的,运行的时候需要Java 。..。..不对啊,xmeter君,我这里好像已经看到JMeter的界面了 -- 当然咯,恭喜你,这是因为你之前已经安装了Java了,就跳过下一步吧。

Java未安装错误

安装Java安装之前先下载其安装包,下载地址:

https://www.oracle.com/java/technologies/downloads/

打开页面后,按序点击下列所示的链接,xmeter君写本文的时候,Java的最新版本是8。

进入下一个页面后,按序点击如下所示开始下载,当然,下载的文件需要跟你的系统对应,如果是Linux请下载相关的Linux版本,xmeter君用的是Windows 64位版的Java。

下载完毕之后运行exe文件,按照向导提示安装完Java。再次运行%JMETER_HOME%injmeter.bat,如果都安装对了的话就应该能出现JMeter的运行界面了。

JMeter之初体验JMeter安装完了,那我们来一个简单的实验。性能测试当然得有个测试目标,就是被测系统是什么,xmeter君这里就以测度娘为例来描述构造一个简单的性能测试过程:xmeter君保证你在5分钟之内完成一次测试体验。

添加虚拟用户组如下图所示,右击“测试计划”》添加》Threads(Users)》线程组。这里xmeter君需要解释一下“线程组”的意思:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组(Thread Group)就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户(virtual users),这些虚拟用户用来模拟访问被测系统。

新建线程组

接下来xmeter君给大家介绍下“线程组”中常用到的一些设置。

1)线程数:这里就是指虚拟用户数,默认的输入是“1”,则表明模拟一个虚拟用户访问被测系统,如果想模拟100个用户,则此处输入100。

2)Ramp-Up Period (in seconds): 虚拟用户增长时长。不明白别着急,xmeter君给你举个栗子:比如你测试的是一个考勤系统,那么实际用户登录使用考勤系统的时候并不是大家喊1、2、3 - 走起,然后一起登录。实际使用场景可能是9点钟上班,那么从8:30开始,考勤系统会陆陆续续有人开始登录,直到9:10左右,那么如果完全按照用户的使用场景,设计该测试的时候此处应输入40(分钟)* 60(秒)= 2400。

但是实际测试一般不会设置如此长的Ramp-Up时间,原因嘛,难道你做一次测试要先等上40分钟做登录操作?一般情况下,可以估计出登录频率最高的时间长度,比如此处可能从8:55到9:00登录的人最多,那这里设置成300秒,如果“线程数”输入为100,则意味着在5分钟内100用户登录完毕。

3)循环次数:该处设置一个虚拟用户做多少次的测试。默认为1,意味着一个虚拟用户做完一遍事情之后,该虚拟用户停止运行。如果选中“永远”,则意味着测试运行起来之后就根本停不下来了,除非你把它强制咔嚓。

线程组的设置

添加被测页面接下来的一步就是要加入实际被测页面,右击“线程组” 》 “添加” 》 “Sampler” 》 “HTTP请求”。

添加“HTTP请求”

接下来需要设置一下“HTTP请求” Sampler的属性,如下所示:

1)名称:输入“百度”,就是被测试网页的描述性文字

2)服务器名称或IP:被测服务器的网站名字,也可以是IP地址。剩下的属性可以按照被测系统的属性按需配置,现在都可以为空。

设置HTTP请求的属性

现在的测试脚本已经可以运行了,先点击下面如图所示的第一步:点击保存脚本按钮;然后点击如图所示的第二步:点击运行测试按钮。

保存与运行测试

等等,xmeter君,为什么我的测试跑完了没啥反应?嗯,其实测试已经跑完了,你可以去“选项” 》 “Log Viewer”看看运行的日志。如果你还是看不到日志,你可以点击下面所示的三角箭头展开或者收起日志视图。日志视图中可以看到“线程组 1-1”的启动和结束时间,表明测试已经跑完。

测试日志视图

这JMeter运行看着也太不直观了吧?那如果我的测试有问题了,怎么发现啊?别着急,JMeter提供了“监听器”让用户来观察测试结果。

添加结果监听器如下图所示,右击“线程组” 》 “监听器” 》 “察看结果树”来查看性能测试过程中请求和响应信息。添加完毕后,保存测试脚本,再次运行。

运行测试完毕之后,点击“察看结果树” 》 “百度”,点击下图中3所示位置,你可以看到一些测试期间一些有用的信息,比如发送的请求的信息和响应数据等。接下来可以试着改一下“线程组”里的“线程数”为10,就是模拟10个用户访问。别改太大哦,否则小心度娘把你的IP地址给封了 :-)

好啦,至此为止,你已经学会了写一个最简单的JMeter的性能测试用例。怎么样,够简单吧

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    4429

    浏览量

    125089
  • 接口
    +关注

    关注

    33

    文章

    7616

    浏览量

    148376
  • 软件
    +关注

    关注

    67

    文章

    4336

    浏览量

    85567

原文标题:JMeter 做接口性能测试,YYDS!

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是接口测试?如何开展接口测试

    接口其实就是前端页面或APP等调用与后端做交互用的,有朋友会问,我的功能测试都测好了,为什么还要测接口呢?
    发表于 03-14 14:15 100次阅读
    什么是<b class='flag-5'>接口</b><b class='flag-5'>测试</b>?如何开展<b class='flag-5'>接口</b><b class='flag-5'>测试</b>

    请问如何用mcu监测另一个mcu是否死机?

    板子上有两mcu,如何用小mcu监视大mcu是否死机?
    发表于 03-08 06:06

    Docker在JMeter分布式测试中的作用

    一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载。
    的头像 发表于 02-25 09:33 160次阅读
    Docker在<b class='flag-5'>JMeter</b>分布式<b class='flag-5'>测试</b>中的作用

    HarmonyOS应用性能与功耗云测试

    ,进入到控制台。 选择或者创建项目,如果新创建项目,注意选择 HarmonyOS。 进入项目空间,在左侧导航栏中选择 测试服务 &
    发表于 12-26 16:39

    LabVIEW开发新型电化学性能测试设备

    LabVIEW开发新型电化学性能测试设备 开发了种基于Arduino和LabVIEW的新型电化学性能测试装置,专门用于实验电池,特别是在锂
    发表于 12-10 21:00

    何用BUCK电路简单实现一个可靠的负电源?

    何用BUCK电路简单实现一个可靠的负电源?
    的头像 发表于 12-05 15:12 464次阅读
    如<b class='flag-5'>何用</b>BUCK电路<b class='flag-5'>简单</b>实现一个可靠的负电源?

    何用简单的RC网络降低可调低压差稳压器(LDO)的输出噪声

    电子发烧友网站提供《如何用简单的RC网络降低可调低压差稳压器(LDO)的输出噪声.pdf》资料免费下载
    发表于 11-29 10:47 0次下载
    如<b class='flag-5'>何用</b><b class='flag-5'>简单</b>的RC网络降低可调低压差稳压器(LDO)的输出噪声

    何用集成电路芯片测试系统测试芯片老化?

    何用集成电路芯片测试系统测试芯片老化? 集成电路芯片老化测试系统是一种用于评估芯片长期使用后性能稳定性的
    的头像 发表于 11-10 15:29 849次阅读

    何用FMSC接口与fpga单片机通信?

    何用FMSC接口与fpga单片机通信
    发表于 11-10 07:12

    请问如何用stm32做一个FFT变换?

    请问如何用stm32做一个FFT变换?官方的库有FFT函数吗
    发表于 11-03 08:16

    请问ickey的测试板卡中有哪一个带有mini pci-e接口

    ickey的提供试用测试的板卡中,有哪一个MCU板卡是带有mini pci-e接口
    发表于 11-01 06:12

    何用纳米软件半导体老化测试系统测试芯片老化?

    芯片老化测试的目的是为了评估芯片长期在各种环境下工作的寿命、性能及可靠性,以确保芯片及系统的工作稳定性。往期我们分享了芯片老化测试的内容及注意事项,今天我们将分享如何用纳米软件半导体老
    的头像 发表于 10-16 15:49 517次阅读
    如<b class='flag-5'>何用</b>纳米软件半导体老化<b class='flag-5'>测试</b>系统<b class='flag-5'>测试</b>芯片老化?

    SpringCloud组件性能优化技巧分享

    Springcloud 原始的配置,性能是很低的,大家可以使用Jmeter测试一下,QPS不会到50。要做到高并发,需要做不少的配置优化
    的头像 发表于 08-16 09:47 620次阅读
    SpringCloud组件<b class='flag-5'>性能</b>优化技巧分享

    何用非常简单的电路传输电力

    电子发烧友网站提供《如何用非常简单的电路传输电力.zip》资料免费下载
    发表于 07-04 11:07 0次下载
    如<b class='flag-5'>何用</b>非常<b class='flag-5'>简单</b>的电路传输电力

    如何使用Jmeter进行分布式测试;检索日志?

    使用 Jmeter 进行分布式测试;检索日志
    发表于 05-10 13:00