一、JMeter介绍

JMeter是一款开源桌面应用软件,可以用来模拟用户负载来完成性能测试工作。JMeter的功能在版本升级的过程中已经十分强大,现在多数互联网公司都在使用JMeter来完成产品或者项目的性能测试工作。因为开源所以更具扩展性,能够胜任更多的工具具有更多的可能性。

JMeter的体系结构

图3-1的中的每一个标签就是组件

X空间分为5个维度,Y空间分为2个维度,Z空间1个维度

X1~X5是负载模拟的一个过程,使用这些组件来完成负载的模拟。

Y1:包含负载模拟部分,负责模拟用户请求

Y2:结果验证部分,负责验证结果的正确性

Z:负责结果的收集,实践上只有一个组成部分--监听器,监听器不仅可以放在线程组内,也可以放在线程组之外

二、JMeter下载安装与运行

1)JMeter 安装

1.下载地址:http://jmeter.apache.org/(下载最新版本的JMeter,并解压到任意位置)

2.安装JDK,配置环境变量(JAVA_HOME),最低要求jdk 1.6及以上版本

2)JMeter 运行

1.进入到目录:D:\jmeter\Jmeter\apache-jmeter-2.9\bin,下运行jmeter.bat启动jmeter

注意:打开的时候会有图形化界面与命令窗口界面

2.打开之后,是中文界面,如果需要展示英文界面,选项->选择语言->英语,即可

三、JMeter测试计划元件

打开JMeter页面如下:

1.Test Plan(测试计划)

用来描述一个性能测试,包含本次测试所有相关功能

右键单击即可建立测试计划


2.Thread (user)线程用户

通过下图我们可以看到有3个添加线程组的选项setUp Thread Group,tearDown Thread Group,线程组

1)setUp Thread Group

一种特殊类型的ThreadGroup,用于执行预测试操作。

2)setDown Thread Group

一种特殊类型的ThreadGroup的,可用于执行测试后动作。

3) thread group(线程组)

这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

线程组:

  名称:就如字面意思,起个有意义的名字就行

  注释:

  线程数:这里选择10

  Ramp-Up Period:单位是秒,默认时间是10秒。它指定了启动所有线程所花费的时间,比如,当前的设定表示“在10秒内启动10个线程,每个线程的间隔时间为1秒”。如果你需要Jmeter立即启动所有线程,将此设定为0即可

  循环次数:表示每个线程执行多少次请求。

3.取样器

取样器用来模拟用户操作,向服务器(被测试系统)发出Http请求,WebSerive(SOAP\XML-RPC Request)请求或者Java请求等。我们可以把Http请求元件看成是一个没有界面的浏览器,他可以发送请求,接受服务器响应的数据

取样器的访问路径:【测试计划】→【线程组】→【添加】→【Sampler】

4.断言

断言是用来判断结果是否正确。说白了就是用一个预设的结果(值、表达式、时间长短等条件)与实际结果匹配,匹配到则成功,否则失败

断言的访问路径:【测试计划】→【添加】→【断言】


5.监听器

JMeter的测试结果需要添加监听器来收集,JMeter结果收集程序的设计模式就是监听器模式。JMeter的监听器有两个任务

(1)添加结果监听,并且可以保存测试结果到文件,这些结果数据可以供再次分析使用。

(2)展示结果,JMeter可以以表格或图形的形式展现结果,方便测试人员分析测试结果。

监听器的访问路径:【测试计划】→【添加】→【监听器】


6.前置处理器

在测试脚本开发过程中,我们在请求发送前可能会做一些环境或者参数的准备工作,那么我们可以在前置处理器中来完成这些工作。例如:在对数据库操作前先建立一个数据库连接

前置处理器的访问路径:【测试计划】→【添加】→【前置处理器】

7.配置元件

性能测试中为了模拟大量用户操作我们往往需要做参数化,JMeter的参数化可以通过配置元件来完成,比如:CSV Data Set Config,它可以帮助我们从文件中读取测试数据。JMeter配置元件还可以记录服务器返回的数据,比如:Http Cache Manager,自动记录服务器返回的Cache信息。简而言之,它为取样器提供预备数据,然后由取样器发出请求。

配置元件的访问路径:【测试计划】→【添加】→【配置元件】

8.后置处理器

后置处理器一般放在取样器之后,用来处理服务器返回的结果。

后置处理器就是专门用来对响应数据做处理的元件,JMeter的关联就是通过后置处理器来完成的。

后置处理器的访问路径:【测试计划】→【添加】→【后置处理器】

9.控制器

我们在收取邮件的时候,只需要登陆一次就可以查看多封邮件。这个场景在JMeter中实现,我们需要控制登录的次数,如何实现呢?

控制器是通过各种组合完成奇葩需求

控制器的访问路径:【测试计划】→【线程组】→【添加】→【逻辑控制器】

10.定时器

为了足够真实的模拟用户负载,我们需要模拟一些请求在同一时刻同时发送,就好像大家在同一起跑线上,然后一声令下,同时起跑。

定时器的访问路径:【测试计划】→【线程组】→【添加】→【定时器】

11.工作台

顾名思义,工作平台。

它不直接参与运行,它的功能有:

(1)我们在运用JMeter录制HTTP协议脚本时就用到它,我们可以在它下面建立一个HTTP代理服务器元件,设置代理信息,然后进行录制。

(2)设置服务器监控(HTTP Mirror Server)

(3)显示当前JMeter属性信息

(4)备份脚本,特别是我们在脚本调试调试过程中可以把它作为一个元件暂存区







【JMeter】初识JMeter(1)的更多相关文章

  1. 初识Jmeter

    初识Jmeter 测试计划是根节点,其下可以有多个Thread Group,起始可配setUp Thread Group和tearDown Group.在每个Group下可创建其它节点,模拟各类实际行 ...

  2. 性能测试--初识Jmeter

    初识Jmeter Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动 ...

  3. JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)

    JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...

  4. JMeter (2) —— JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial)

    JMeter (2) -- JMeter与WebDriver测试用户登陆以CAS SSO为例(101 Tutorial) 主要内容 JMeter与WebDriver测试用户登陆以CAS SSO为例 环 ...

  5. JMeter (1) —— JMeter与WebDriver安装与测试(101 Tutorial)

    JMeter (1) -- JMeter与WebDriver安装与测试(101 Tutorial) 主要内容 JMeter安装 WebDriver安装 一个简单的JMeter+WebDriver示例 ...

  6. 【jmeter】 jmeter 测试HTTP接口

    到apache官网下载jmeter:http://jmeter.apache.org/download_jmeter.cgi 1.运行 bin/jmeter.bat ,添加线程组 2.添加HTTP请求 ...

  7. 【jmeter】jmeter测试手机app的服务器压力

    具体步骤: 1.电脑启动jmeter 2.jmeter在测试计划新建线程组. 3.在工作台新建http代理服务器 4.配置HTTP代理服务器 5.设置IE代理到本地 6.手机wifi设置代理连接到PC ...

  8. 【jmeter】jmeter环境搭建

    一. 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用,后来又扩充了其它的功能.j ...

  9. Jmeter 03 Jmeter脚本开发

    JMeter 工作区介绍 JMeter Http 协议录制 JMeter 脚本调测 JMeter 关联 JMeter 参数化 JMeter 检查点 JMeter 事务 JMeter 集合点 JMete ...

随机推荐

  1. SpiderMonkey js引擎的静态编译与使用, SpiderMonkey的使用

    SpiderMonkey js引擎的静态编译与使用 2017年10月02日 02:51:22 yaolixing01 阅读数:536   原文出处: http://yaolixing.oltag.co ...

  2. Kendall Rank(肯德尔等级)相关系数

    1.简介在统计学中,肯德尔相关系数是以Maurice Kendall命名的,并经常用希腊字母τ(tau)表示其值.肯德尔相关系数是一个用来测量两个随机变量相关性的统计值.一个肯德尔检验是一个无参数假设 ...

  3. HTTPS安全证书介绍

    IIS配置web SSL 安全证书Https访问 From : http://cao416451347ming.blog.163.com/blog/static/1154556162010217441 ...

  4. PHP一句话木马研究

    最近在研究PHP一句话后门,查阅了很多大佬的博客,并从中衍生出了一些可用的方法. 现总结如下: 方案一:回调函数 回调函数:Callback (即call then back 被主函数调用运算后会返回 ...

  5. 第二章 微服务网关基础组件 - zuul入门

    一.zuul简介 1.作用 zuul使用一系列的filter实现以下功能 认证和安全 - 对每一个resource进行身份认证 追踪和监控 - 实时观察后端微服务的TPS.响应时间,失败数量等准确的信 ...

  6. 糟糕的css用法 1

    现在网站追求越来越漂亮好看,越来越炫,所以css是必不可少的.可是我发现许多人使用css的方式是不对的,至少是不推荐的. 比如下面的css用法不对 (1)一个页面对应一个css文件 这种做法是我深恶痛 ...

  7. 老猪带你玩转自定义控件三——sai大神带我实现ios 8 时间滚轮控件

    ios 8 的时间滚轮控件实现了扁平化,带来很好用户体验,android没有现成控件,小弟不才,数学与算法知识不过关,顾十分苦恼,幸好在github上找到sai大神实现代码,甚为欣喜,顾把学习这个控件 ...

  8. python3 验证码去噪

    处理前图像: 处理后图像 代码 #coding:utf8 import os from PIL import Image,ImageDraw,ImageFile import numpy import ...

  9. lvs 隧道模式请求没有回应的解决

    众所周知,lvs共有三种转发机制:NAT,IPTUNNELING与DIRECT ROUTING 我在做隧道模式实验时遇到了一个问题,客户端向虚拟ip(即隧道0的ip)发送请求后,lvs服务器接收到了请 ...

  10. oauth2-server-php-docs 授权类型

    授权码 概观 在Authorization Code交付式时使用的客户端想要请求访问受保护资源代表其他用户(即第三方).这是最常与OAuth关联的授予类型. 详细了解授权码 用例 代表第三方来电 履行 ...