点击关注公众号,实用技术文章及时了解

来源:jianshu.com/p/0e4daecc8122

简介

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

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

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

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

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

JMeter下载和安装

JMeter可以在JMeter的官方网站下载,下载链接如下图所示,xmeter君写本文的时候(2016/11)可以下载到的最新的版本是3.0,

JMeter下载

下载后解压到你系统下的任意目录,我们称该目录为%JMETER_HOME%,然后运行%JMETER_HOME%\bin\jmeter.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%\bin\jmeter.bat,如果都安装对了的话就应该能出现JMeter的运行界面了。

JMeter之初体验

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

学习资料:Java进阶视频资源

添加虚拟用户组

如下图所示,右击“测试计划”>添加>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的性能测试用例。怎么样,够简单吧!学习资料:Java进阶视频资源

推荐:

主流Java进阶技术(学习资料分享)

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!

JMeter 做接口性能测试,YYDS!相关推荐

  1. 一个使用Jmeter做接口性能测试的实战案例

    1 安装并配置Jmeter Jmeter的安装不在这里阐述,安装步骤非常简单. 直接进入主题 1.1 数据库连接配置 由于测试过程需要调用数据库获取响应部署数据,因此需要先建立与数据库的连接. 如果不 ...

  2. 【技术博客】 利用Postman和Jmeter进行接口性能测试

    利用Postman和Jmeter进行接口性能测试 作者:ZBW 版本:v1.1 在Phylab的开发过程中,对于生成报告接口的性能考量十分重要.原有的Latex接口虽然生成的报告美观,但编译Latex ...

  3. form表单用js提前执行函数若不成功则不提交_如何用Jmeter做接口自动化测试?跟着操作一次就明白了...

    Jmeter是Apache公司组织开发的一款基于Java压力测试工具,开源且支持多个操作系统,可以对测试静态和动态资源进行大并发负载模拟,或对服务器网络进行高强度并发测试,业界多将该工具应用于性能测试 ...

  4. Jmeter做接口的压力测试

    章节一压力测试课程介绍 1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分 ...

  5. 使用JMeter 进行接口并发性能测试

    Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做得比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试.因为在做接口测试时可以设置线程组,所以也可做接口性 ...

  6. 使用Jmeter做性能测试

    上周刚刚做完项目的性能测试.今天整理和总结一下,随便分享给大家. 首页呢,测试前,我们是有明确的性能指标的,而且测试环境和数据都已准备好,业务分析.场景分析大家根据自己的项目系统进行分析设计,我们选用 ...

  7. 使用Fiddler/Charles+Jmeter进行接口自动化测试和接口性能测试(关联接口测试、接口自动化测试、脚本录制、软件测试、性能测试、测试工具)

    目录 1.Fiddler篇,脚本录制,接口自动化测试,性能测试 2.Charles篇,脚本录制,接口自动化测试,性能测试 背景:有时候不是说我们不懂一个一个接口进行拼装编辑,只是为了我们能更好更快的进 ...

  8. 大厂都在做的jmeter接口自动化测试登峰造极的JMETER实现接口自动化测试

    目录 一.JMETER的环境搭建 二.JMETER的汉化 三.JMETER的接口请求 四.JMETER的参数化 五.JMETER的JSON传参 六.JMETER的断言添加 一.JMETER的环境搭建 ...

  9. 转为yaml python_python 如何使用HttpRunner做接口自动化测试

    作者:星安果 来源:AirPython 1. 前言 原始测试金子塔包含 3 层,分别是:UI 自动化测试.接口服务测试.单元测试 其中, 单元测试是对软件的最小可测试单元进行检查和验证,也是产生效率最 ...

最新文章

  1. matlab编程实现基于密度的聚类(DBSCAN)
  2. 【DB】几种ETL模式
  3. excel去掉超链接
  4. 入门视频采集与处理(学会分析YUV数据)
  5. 目标检测:NMS和计算mAP时的置信度阈值和IoU阈值
  6. Python3.5入门到项目实战(104天课程)
  7. 强烈推荐——微软一站式开发技术框架 All-In-One Code Framework (CodeFx)
  8. 改变bantchsize发现loss增大_肺内发现磨玻璃结节,一定就是早期肺癌吗?
  9. CodeForces - 1593G Changing Brackets(思维)
  10. 但这是不可能的,或者无法发现JIT破坏了您的代码。
  11. 用户态和核心态的转换
  12. Collection的使用 对象 java
  13. java 查看虚拟机状态_深入理解java虚拟机学习笔记(四)虚拟机性能监控与故障处理工具...
  14. python tkinter实例_Python tkinter模版代码实例
  15. android触摸进度条,Android仿IOS ViewPager滑动进度条
  16. Android 异步处理AsyncTask
  17. redis-bitmap 命令使用的一些帖子
  18. 【WinRT】使用 T4 模板简化字符串的本地化
  19. flutter | 悬浮窗解决方案 flutter_floating
  20. 基于微信小程序云开(统计学生信息并导出excel)2.0版

热门文章

  1. 用户遭骚扰质疑隐私被航旅纵横泄露 回应:用户有开启关闭的自主权
  2. 视觉中国网站部分恢复上线? 官方回应:并没有
  3. 放弃第三方?苹果正自研iPhone调制解调器芯片
  4. 前端面试题汇总(css基础篇)
  5. 情人节福利,撩妹神器恋爱话术库它来了~
  6. urllib2的用法
  7. 软件测试基础课程学习笔记7---如何撰写测试报告
  8. C语言中的回调函数(Callback Function)
  9. puppeteer 自动化测试 一
  10. java 正则 惰性匹配_正则表达式 - 贪婪与非贪婪(惰性)