1.JMeter的下载与安装

Jmeter官方下载地址:http://jmeter.apache.org/download_jmeter.cgi,下载jmeter是一个zip压缩包,解压后,直接运行apache-jmeter-2.9\bin目录下的jmeter.bat文件。

2.测试实例

Get请求:

URL : https://zh.wikipedia.org/w/index.php?title=Special:搜索&profile=default&fulltext=Search&search=general&searchToken=2iim1utydlw71vdjezf4mj5t4

(1)添加线程组:

在线程组中可以定义两种性能测试方式:

1.线程数+每个线程的执行次数(通常用于执行性能测试)

2.线程数+启动时间和结束时间(通常用于执行稳定性测试)

Number of Threads(users): 一个用户占一个线程,20个线程就是模拟20个用户。

Ramp-Up Period(in seconds):设置线程需要多长时间全部启动。如果线程数为20 ,准备时长为1 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。

Loop Count:每个线程发送请求的次数。如果线程数为20,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

调度器中可以设置测试的执行时间,指定结束时间后,循环次数条件会失效,每个线程都会循环运行,知道满足结束时间为止。

(2)添加HTTP请求:

添加完成线程组后,在线程组上右键菜单(添加--->Sampler--->HTTP请求)选择HTTP请求。对于jmeter来说,取样器(Sampler)是与服务器进行交互的单元。

将请求url:https://zh.wikipedia.org/w/index.php?title=Special:搜索&profile=default&fulltext=Search&search=general&searchToken=2iim1utydlw71vdjezf4mj5t4做分隔处理

Host:zh.wikipedia.org

请求路径:w/index.php

请求参数:title=Special:搜索,profile=default,fulltext=Search,search=general,searchToken=2iim1utydlw71vdjezf4mj5t4

依次将上述参数填入指定选项框中,如下图所示:

(3)添加监听器:

Jmeter中使用监听器元件手机取样器记录的数据并以可视化的方式呈现,Jmeter有各种不同的监听器类型,因为上HTTP请求,我们可添加聚合报告和查看结果树两种监听类型,更为直观的查看测试结果。

启动请求结果展示:

通过查看结果树元件可以查看具体每一条的请求url,响应数据结果等信息。

聚合报告结果:

至此,一个简单的性能测试就完成了,但是考虑到这种方式,每个请求的发送都要通过建立网络连接、vpn连接等过程,最终的结果会有一定的误差,所以,如果能把它放在服务器上运行,会得到更准确的结果。

保存测试计划,会以一个.jmx文件存储,该文件里面保存了所有上述的元件以及参数配置,将此.jmx文件放在bin目录下,并将Jmeter整个工程拷入服务器中(拷入一个与测试机相通的服务器,如果直接拷入测试机,在测试过程中会给测试机本身带来压力,影响测试结果)。

cd 到Jmeter的bin目录下,通过如下命令运行jmeter,并生成.jtl文件

./jmeter.sh -n -t TpsLimit.jmx -l test.jtl

原文出处:http://qa.blog.163.com/blog/static/190147002201682614648545/

JMeter学习篇(一):测试实例讲解的更多相关文章

  1. JMeter学习-022-JMeter 分布式测试(性能测试大并发、远程启动解决方案)

    在使用 JMeter 进行性能测试时,难免遇到要求并发请求数比较的场景,此时单台测试机的配置(CPU.内存.带宽等)可能无法支持此性能测试场景.因而,此时 JMeter 提供的分布式测试功能就有了用武 ...

  2. JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置

    众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...

  3. JMeter学习-014-JMeter 配置元件实例之 - 用户定义的变量 参数化配置

    前文讲述了通过 CSV Data Set Config 实现参数化配置(详情敬请参阅:JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置), ...

  4. Jmeter-接口测试实例讲解

    一.测试需求描述 1. 本次测试的接口为http服务端接口 2. 接口的主要分成两类,一类提供给查询功能接口,一类提供保存数据功能接口,这里我们举例2个保存数据的接口,因为这两个接口有关联性,比较有代 ...

  5. JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...

  6. JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

    前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获 ...

  7. JMeter学习-026-JMeter 分布式(远程)参数化测试实例

    以前文所述对文章详情的HTTP请求进行性能测试为例.日常实际场景中,不可能所有的人都在同时访问一篇文章,而是多人访问不同的文章,因而需要对文章编号进行参数化,以更好的模拟日常的性能测试场景.同时,因文 ...

  8. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

    前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). ...

  9. JMeter学习-007-JMeter 断言实例之一 - 响应断言

    之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请 ...

随机推荐

  1. LeetCode Array Easy 27. Remove Element 解题

    Given an array nums and a value val, remove all instances of that value in-place and return the new ...

  2. 手机作为蓝牙音频源连接到Linux时,如何通过音量键调节传入的音量大小

    背景一: 我们知道,把手机作为音频源通过蓝牙连接到电脑,就可以把手机的声音转移到电脑上. 背景二: 我喜欢带着耳机用我的Linux本刷youtube,也喜欢用我的iPhone听音乐.为了同时做这两件事 ...

  3. Numpy_key_point

    Numpy使用中的一些注意点: ------------------------------------------------------------------------------------ ...

  4. 1.隐藏继承的成员new / 虚方法(override)/ abstract / 多态 ----- 重写

    总结: 1. 在继承上, new/override没区别 2. 在多态上,new不支持多态,override支持 在C#中改变类中相同名称的方法的实现过程中有三种方式:重载.重写和覆盖. 重载:指具有 ...

  5. WarUtil

    /** *包名:cn.yufu.utils *描述:package cn.yufu.utils; */ package cn.yufu.utils; import java.io.File; impo ...

  6. Arduino与无源蜂鸣器

    1.Arduino无源蜂鸣器传感器模块 我们可以使用Arduino进行很多互动作品,其中最常用的是声光显示器.之前的所有实验都与LED有关.但是,这个实验中的电路可以产生声音.通常,实验是通过蜂鸣器或 ...

  7. java lambda filter写法

    datas.stream().filter(m->!m.getSerialId().equals(setting.getSerialId())).collect(Collectors.toLis ...

  8. (¥1011)->(一千零一拾一元整)输出

    public class RenMingBi { /** * @param args add by zxx ,Nov 29, 2008 */ private static final char[] d ...

  9. json path espressions的语法学习

    json path espressions的语法学习 $:跟对象\元素 @:当前对象\元素 ?():应用过滤器(脚本)表达式 如: { "store": {    "bo ...

  10. 3、获取APP 内存占用率

    关于APP内存占用,不用多说,应该是APP性能测试中比较重要的一点.试想一下,开个应用把手机内存占满了,其它应用无法打开,那么这个应用还会有人安装吗?我觉得是没有的.下面就通过adb命令获取APP虚存 ...