新人视角-快速上手Jmeter

  • 1 知己知彼
    • 1.1 简介
    • 1.2 JMeter的作用
  • 2 快速上手
    • 2.1 前期准备
    • 2.2 开始实战
      • 2.2.1 创建Threads线程组
      • 2.2.2 配置Threads线程组
      • 2.2.3 创建Sampler取样器
      • 2.2.4 配置Sampler取样器
      • 2.2.5 运行Sampler取样器

1 知己知彼

1.1 简介

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

1.2 JMeter的作用

1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。

2 快速上手

2.1 前期准备

1、安装Jmeter:百度一大把,可参考这个:Jmeter安装教程
2、API接口:想做接口测试那当然得有接口供你调用,提供个比较方便的接口网站:聚合API

2.2 开始实战

2.2.1 创建Threads线程组


一个 Test Plan 想要被执行,那么第一步就是需要添加 Threads (Users),可以大概理解为驱使一组用户为我们执行这个计划。

在Test Plan右键,依次选择Add->Threads(Users),选择所需即可。本次我们就先使用Thread Group为例进行讲解。

如上图所示,Threads(Users)可分为:
1、Thread Group:这个就是我们一般会接触到最多的线程组。通俗的讲,一个线程组可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

2、setUp Thread Group:一种特殊的线程组,是所有Thread Group并发之前的准备工作,必须是在Thread Group开始之前完成的并且拥有独立的线程设置。如果操作过RF的同志们一定不会感到陌生,和RF的Suite Setup及Test Setup功能类似。

3、tearDown Thread Group:和setUp Thread Group完全相反的一种线程组,是在所有线程组运行结束后进行的。


2.2.2 配置Threads线程组


Name:线程组名称,按需自己取名。
Comments:注释。
Action to be taken after a Sampler error:Sampler执行错误后的动作。
---->Continue:忽略错误继续执行该线程组下一个Sampler请求
---->Start Next Thread Loop:出错后执行下一组线程请求。Demo:一个线程组里有三个接口,执行到第二个接口遇到错误,就不执行第三个接口了,直接跳到下一个线程组开始循环
---->Stop Thread:停止线程。有Sampler出现错误,在当前Sampler错误处停止运行(循环停止),直到其他线程执行结束完毕,会返回出错前的结果
---->Stop Test:停止测试。有Sampler执行有错误,则当前正在执行的Sampler执行完毕后停止测试;还没有执行的Sampler不执行,不返回出错前的结果
---->Stop Test Now:立即停止。当一个Sampler执行出现错误,则所有的测试立即停止执行(类似于硬停止),有正在执行的Sampler,立即停止;还没有执行的Sampler不执行。
Number of Threads(users):线程数,一个线程组需要启动的线程数。
Ramp-Up Period (in seconds):设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程;如果需要立即启动所有线程,将此设定为0即可。
Loop Count:循环次数,表示每个线程执行多少次请求。勾选Forever就会一直循环直到手动停止为止。

2.2.3 创建Sampler取样器


Sampler是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler 。如 HTTP Request Sampler 、FTP Request Sampler 、TCP Request Sampler 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。

在创建的Thread Group右键,依次选择Add->Sampler,选择所需即可。本次我们以Http Request为例讲解

2.2.4 配置Sampler取样器

该步骤也就是要开始发送我们的请求了,我们以下面的接口为例进行演示


根据上面的接口信息,我们在Sampler中开始进行配置:

Name:为该取样器取名,随自己心意。
Protocol:请求协议,一般为请求地址://前面的部分,如http,https等。此处为http。
Server Name or IP:请求发送的目标服务器名称或者IP地址,一般为://后面到第一个/处为止,此处为japi.juhe.cn。
Port Number:请求发送的目标服务器的端口号,可不填。
Method:请求方法,如Get、Post、Put等,根据接口要求设置,此处get/post均可。
Path:目标的URL路径(不包括服务器地址和端口),此处为/qqevaluate/qq。

根据接口文档我们可知该请求还需要请求参数一起发送:
1、key:申请接口后会自动生成appKey,可在个人中心-数据中心-我的接口页面查到。
2、qq:按需填写

我们可在Sampler的Parameters页签选择Add添加所需的请求参数,Name填写请求参数的名称,Value填写值。

以上配置完成Sampler。

2.2.5 运行Sampler取样器

在运行前我们还需要做的一个步骤是添加View Results Tree结果树,否则我们无法看到请求的执行结果。

在Threads线程组右键,依次选择Add->Listener->View Results Tree。

添加完成后,根据下图步骤即可运行并查看返回数据。

[Win+Jmeter]新人视角-快速上手Jmeter相关推荐

  1. 新人如何快速上手做(海外问卷)站点查?

    很多人做站点查之前不知道如何下手,害怕学不会怎么办?其实这些都不是重点担心的问题,今天来给大家详细讲解一下新手如何快速上手做站点查? 我们以ysensen站点查为例: ClixSense(现在已经更名 ...

  2. 新人如何快速上手项目管理

    一.背景 互联网公司除了业务迭代快,大型战役活动也不少,比如双11.阿里影业的春节档.优酷的世界杯等等.这些大型战役,不仅考验技术人的代码功底,更考验在超大型项目中团队协作能力.快速应变能力. 本文将 ...

  3. 在阿里,新人如何快速上手项目管理?

    简介: 为防止疫情蔓延,互联网公司纷纷开启SOHO办公模式.停工不停业,尤其与疫情相关的服务工作,都在快马加鞭的进行中.比如优酷的"战疫情"专题."在家上课"项 ...

  4. 新人如何快速上手项目管理?

    文章转载于:阿里技术 微信公众号 原地址:https://mp.weixin.qq.com/s/nxWzUtWB8FwihQ6xkniibw 一.背景 互联网公司除了业务迭代快,大型战役活动也不少,比 ...

  5. 新人如何快速上手新项目?

    按楼主的经验和知识,本文总结了应用开发中的各种存储架构,从易到难,从起步到起飞.如有不对之处,欢迎留言. 1.单库 最简单的初始架构,适用于千万级以下的数据,并发量低的场景. 单库.单表 或单库.多个 ...

  6. 大厂都有哪些●快速上手●项目管理秘籍?

    为防止疫情蔓延,互联网公司纷纷开启SOHO办公模式. 停工不停业. 尤其与疫情相关的服务工作,都在快马加鞭的进行中. 比如优酷的"战疫情"专题."在家上课"项目 ...

  7. Jmeter压力测试快速使用

    官网 选用二进制包 前提安装JAVA,配置环境变量 解压下载的二进制包,进入bin目录,使用jmeter.bat启动程序 启动后有两个窗口,一个cmd窗口,一个JMeter的 GUI.不要忽略CMD窗 ...

  8. 计算机入门新人必学,电脑新手入门教程 让你快速上手

    随着互联网时代的快速发展,电脑发展也相当的成熟,新手学电脑可以快速入门,是每个新手梦寐以求的事情,但是不会所有人都可以快速上手,最近很多用户咨询我关于零基础学电脑先学什么,或者是电脑新手入门必学什么东 ...

  9. 小目标 | Power BI新人快速上手手册

    经常有刚接触Power BI 的朋友询问:该如何上手学习?先学Power Query ,还是 Power Pivot?或者直接学习 Power BI Desktop? 今天,就和大家分享一些我个人的体 ...

  10. 企业微信CRM功能详解:看看话术库如何帮助销售新人快速上手!

    白码企业微信CRM中的"话术库快速回复"功能与普通的快捷回复不太一样,话术库里的每条话术都是由公司根据不同部门划分设计提前存入的,只能由公司管理人员操作,其他员工只可以根据分工使用 ...

最新文章

  1. HTTP/3 来了 !HTTP/2 还没怎么用起来呢,先一起扫个盲吧!
  2. 网络学习:VLAN和独臂路由
  3. 【OpenCV学习】XML的读写
  4. java int 127_Integer类型中奇怪的127和128
  5. MySQL 5.6.6 LABS 版本 下载 已经内含 Memcached
  6. sql必知必会(第四版) 学习笔记一
  7. minio下载及安装:win linux平台
  8. 论文解读 | 利用脑功能连接实现疲劳驾驶检测
  9. Visual Studio 2010 实用功能总结图解
  10. linux mysql删除用户权限_linuxmysql增加用户,删除用户,以及用户权限_MySQL
  11. 【Linux内核之旅】eBPF C语言入门架构
  12. Zero-copy Receive for vhost
  13. 用usboot制作启动U盘
  14. 伺服驱动器的接线与基本控制
  15. Realsense D435i 使用
  16. 傲骨贤妻第一季/全集The Good Wife迅雷下载
  17. 694.27公斤何登骥360搜索热头条 北方旱作国稻种芯功能水稻
  18. C 语言画一颗圣诞树
  19. Wannfly挑战赛20 A 染色
  20. go语言中赋值出错:no new variables on left side of :=

热门文章

  1. 阿里面试官用HashMap把我问倒了
  2. table固定表头并且固定左边第一列的纯粹css实现
  3. WPF入门03之布局元素
  4. 会python的人工作都不会太差什么梗_潘石屹宣布要学编程语言Python,这是要跟程序员抢饭碗?...
  5. 完全的新手入门_使用Unity做个单机二人小麻将(二) 吃碰杠胡牌算法
  6. 转 IT管理者必须了解且规避的12大技术陷阱
  7. vue项目中怎么引入three以及其它模块?
  8. 路漫漫其修远兮,吾将上下而求索——学习是一个过程
  9. Unity学习笔记:fps游戏敌人模块(1)
  10. python-segno:二维码制作