1、下载安装Jmeter、JDK

Jmeter官网下载地址:

http://jmeter.apache.org/download_jmeter.cgi

JDK官网下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

安装jmeter是必须安装JDK的。

2、安装JDK

安装JDk的步骤如下:

点击下载的JDK文件jdk-7u13-windows-i586.exe,点击下一步直至安装完成,然后开始配置环境:

点击我的电脑----属性----高级----环境变量----在系统变量中----点击新建,

在变量名中输入:JAVA_HOME

变量值中输入:C:\ProgramFiles\Java\jdk1.7.0_13

再次点击新建:

在变量名中输入:CLASSPATH,

变量值中输入:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;

然后再系统变量中找到Path,点击编辑,在变量值中加上:

%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;(如果前面没有“;”需要加上)

配置完成之后,点击确定保存,然后cmd打开命令窗口输入:java或者javac,出现大串字符串表示配置成功。

也可以输入:java-version 查看java版本来查看是否配置成功

JDK安装成功之后,就可以下一步安装Jmeter了。

LINUX下安装JDK请参考相关文档进行安装。

3、安装jmeter

安装jmeter很简单,只要将下载的zip包解压缩到指定文件夹下即可,例如将zip包解压缩到E盘根目录下面:E:\apache-jmeter-3.0

安装好后的目录结构如下:

E:\apache-jmeter-3.0\bin

E:\apache-jmeter-3.0\docs

E:\apache-jmeter-3.0\extras

E:\apache-jmeter-3.0\lib

E:\apache-jmeter-3.0\lib\ext

E:\apache-jmeter-3.0\lib\junit

E:\apache-jmeter-3.0\licenses

E:\apache-jmeter-3.0\printable_docs

如果你想的话你可以重命名父目录(例如jmeter-3),但是不要改变任何子目录命名。父目录路径中不能包含任何空格;如果包含,你运行客户端-服务器模式会有问题。

配置jmeter环境变量:

变量名:【JMETER_HOME】  变量值:【jmeter解压的地址】E:\apache-jmeter-3.0

在系统变量CLASSPATH中加入

%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar

若是版本4.0的环境变量配置与3.0的有差异,可以百度搜索下。

cmd命令 :java -version ,查看JDK是否安装成功;

找到jmeter安装bin目录中的jmeter.bat执行文件,执行

执行成功界面如下:

执行成功弹出的dos不可关闭

2、使用Jmeter

a、线程组

如果是录制方式打开的jmx脚本默认会场景线程组,如果是手工生成脚本则需要首先添加线程组,右键点击测试计划,选择添加,添加线程组,这里的线程组相当于loadrunner中的用户组。

如上图:

名称:可以随意取,最好取为我们测试场景相关的名称

注释:随意

在取样器错误后要执行的动作:我们选择继续,错误之后依然继续执行

线程数:一般我们用来表示多少个用户,相当于loadrunner中的并发用户数

Ramp-up Period(in Seconds):表示每个用户启动的延迟时间,上述我设为1秒,表示系统将在1秒结束前启动我设置的1000个用户,如果设置为1000秒,那么系统将会在1000秒结束前启动这1000个用户,开始用户的延迟为1秒,如果我设置为0秒,则表示立即启动所有用户。相当于loadrunner中的用户加载策略。

循环次数:如果你要限定循环次数为10次的话,可以取消永远的那个勾,然后在后面的文本框里面填写10;在这里我们勾上永远,表示如果不停止或者限定时间将会一直执行下去,是为了方便调度器的调用。

调度器的配置:我们勾选调度器时,将会出现这个面板

启动时间:表示我们脚本开始启动的时间,当你不想立即启动脚本测试,但是启动脚本的时间不会再电脑旁的时候,你可以设定一个启动的时间,然后再运行那里点击启动,系统将不会立即运行,而是会等到你填写的时间才开始运行。

结束时间:与启动时间对应,表示脚本结束运行的时间。

持续时间:表示脚本持续运行的时间,以秒为单位,比如如果你要让用户持续不断登录1个小时,你可以在文本框中填写3600。如果在1小时以内,结束时间已经到达,它将会覆盖结束时间,继续执行。

启动延迟:表示脚本延迟启动的时间,在点击启动后,如果启动时间已经到达,但是还没有到启动延迟的时间,那么,启动延迟将会覆盖启动时间,等到启动延迟的时间到达后,再运行系统。

注意:如果我们需要用到调度器来设定持续时间,如果线程数不够多到持续时间结束,我们就必须将循环次数勾选为永远,特别地,如果线程组里面有其他的循环,我们也需将该循环次数勾选为永远(如我上面录制的脚本中的Step1也是一个循环,需要将永远勾选),否则,按我如上配置,将永远去掉勾选,文本里填1,那么无论你将持续时间启动时间结束时间等设置多少,系统运行1000次后,将会停止不再运行。

b、关于HTTP请求

关于HTTP请求,我们录制的脚本里面就有,这里就介绍一些常用的属性。

如图所示:

其中:

名称:可以随意取,我们可以根据录制脚本的路径来命名

注释:可以对该界面做一个简单介绍

服务器名称或IP:即我们的服务器或者IP的地址。

端口号:我用的是18080端口,所以设置的端口号为18080

后面的超时定义可以不用填写。

Implementation:这里我们录制时默认填写为JAVA

协议填写为:http

方法为:GET

Content encoding:编码可以不用填写

路径:即页面的路径;下面的重定向等选择可以根据需要勾选,这里我们保持录制不修改。

Parameters参数:即跟着路径一起发送的参数及文件

下面的代理服务器等可以忽略,按需要填写。

c、参数化

如下面图,我们为请求发送的参数来参数化。

上述的例子以登录为例,登录有两个参数:username和passwd,在实际测试中,当我们需要用到不同的用户来登录的时候,我们就可以对username和passwd参数化。

1)、我们新建一个文件,这里我新建的是一个txt文件,命名为newname.txt,里面的内容为

300000000@qq.com,1qaz!QAZ

300000001@qq.com,1qaz!QAZ

300000002@qq.com,1qaz!QAZ

2)、在线程组添加配置元件:CSV Data Set Confi

其中:

Filename 为文件绝对路径;Variable Names:对应读取文件各列参数名称,用“,”隔开

http请求中发送参数值使用${参数名}:如 ${n_name}  ${n_pw}

3)、用户定义的变量

定义的变量使用表示

4)、获取某文件中参数定义变量,在jmeter中的【选项】中选择【函数助手对话框】,将会弹出如下对话框:

其中:

CSV file to get values from |*alias:要读取的文件路径,为绝对路径

CSV文件列号| next| *alias:从第几列开始读取,注意第一列是0

如上图所示,我们读取的是c.txt里面的第一列用户名(如果要读取第二列的密码,只需将0改成1即可,往后类推),点击【生成】按钮即可生成函数,我们使用时即拷贝生成的函数字符串:${__CSVRead(E:\c.txt,0)}。

 d、关联

Jmeter中的关联是使用正则表达式提取器来实现的,相对于loadrunner来说jmeter的关联功能比较弱,只能在线程组内实现关联,不能跨线程组。

第一步:右键点击商品列表的请求> 添加> 后置处理器 >正则表达式提取器

第二步:填写正则表达式

我要获取的值原本服务器返回的结果是:以下是左边界和右边界

解释:

(1)注释不多说,随便自己喜欢
(2)Apply to:默认即可
 (3) 要检查的字段:一般我们选择主体,即服务器返回给我们的页面主体信息
(4)引用名称:即参数名称,这个自己定义,在后面时可用
(5)正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。
(6)模板:$1$代表只取一组数据
(7)匹配数字:0代表随机取值,1代表取找到的第一个值,2代表去找到的第二个值,依次类推。
(8)缺省值:如果参数没有取得到值,那默认给一个值让它取

第三步:在商品详情页请求中使用关联的参数值

在第二步填写的引用名称中加入${},然后替换掉需要关联的地方,这里把整个url替换了。

或是使用jmeter插件,可更快速调去使用,在http请求下添加插件:jp@gc-JSON Path Extractor

若没有需要使用“选项”-Plugins Manager 添加插件包,下载安装后若启动jmeter报错,存在控件冲突,删除冲突文件即可

Name 为定义的变量名称stu_sign,JSONPath Expression根据下图  “.”为{} ,$.login_info.sign

关联请求,见下图。若关联请求中需要多个参数,则需添加多个JSON Path Expression,获取不同的返回结果定义成变量

4、调试脚本

调试脚本一般是通过添加查看结果树监听器、查看jmeter运行日志、查看控制台日志实现

查看结果树

详细使用可百度,或是查看:   https://blog.csdn.net/zouxiongqqq/article/details/72843500

              https://blog.csdn.net/ronghuanye/article/details/72956054

jmeter安装与使用的更多相关文章

  1. Jmeter安装与环境部署

    Jmeter安装与环境部署 版权声明:本文为博主原创文章,未经博主允许不得转载. 博主:海宁 联系:whnsspu@163.com

  2. Apache JMeter安装

    Apache JMeter安装说明 1.       安装环境要求: Java版本 JMeter要求充分满足JVM1.3或更高. 操作系统 JMeter可以在当前任何一个已经部署了Java的操作系统上 ...

  3. JMeter 安装与使用基本教程

    JMeter使用了不同技术和协议,是一款可以进行配置和执行负载测试.性能测试和压力测试的工具. 什么是JMeter? JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100% ...

  4. Jmeter初步使用--Jmeter安装与使用

    由于jmeter是开源的性能测试工具,但是使用的人较少,网络上相关资料不全面,需要自己去揣摩,因此,小编就把自己在用Jmeter时的一些小结总结出来.而loadrunner工具是商业软件,网上通常都是 ...

  5. jmeter 安装

    3.1 windows10环境下测试工具jmeter安装与配置 3.1.1下载安装java 浏览器中打开链接:http://down-www.7down.net/pcdown/soft/xiazai/ ...

  6. Jemter 压测基础(一)——基本概念、JMeter安装使用、分布式测试、导出测试结果、编写测试报告

    Jemter   压测基础(一) 1.压力测试的基本概念: 1.吞吐率(Requestspersecond) 服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请 ...

  7. jmeter安装教程与新手入门(附jdk安装教程)

    一.前言 最近要对网站做性能测试,提到了并发数测试,查了下,还是决定使用jmeter来完成这项测试,这里总结了jmeter完整的安装教程,附上新手使用教程. 二.jmeter安装 1.jdk安装(jm ...

  8. JMeter安装+配置+运行

    环境配置: 操作系统:Win7系统 jdk版本:1.8 JMeter版本:3.0 一  JMeter的安装配置过程 JMeter是100%纯java应用程序,它在任何支持完整java实现的系统上都能正 ...

  9. jmeter安装部署、maven路径配置

    jmeter下载地址: https://jmeter.apache.org/download_jmeter.cgi 解压文件 配置jmeter环境变量 (1)设置jmeter解压目录的JMETER_H ...

随机推荐

  1. mysql 动态行转列

    表结果:create table user( id int , username ), create_time datetime, type int ) insert into user (`id`, ...

  2. supergridcontrol记录

    单元格换行: this.gridColumn2.CellStyles.Default.Alignment = DevComponents.DotNetBar.SuperGrid.Style.Align ...

  3. Delphi 字母 递增 递减算法

    网上看了一下,好象没有现成的,自己随手写了一下,给大家参考一下吧 // a..z 97..122 A..Z 65..90 function UpABC(ABC : String; AddCount : ...

  4. oracle增加记录谁在连接你的数据库

    我们都知道在v$session 中记录着客户端的机器名称,但是没有IP , 如果记录clinet ip 呢? 有两种思路: ①    利用trigger,后面就是这种方式 ②    利用 DBMS_S ...

  5. 李清华201772020113《面向对象程序设计(java)》第十一周学习总结

    实验十一   集合 实验时间 2018-11-8 1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 了解java集合框架体系组成: (3) ...

  6. python学习(一)--python解释器

    python学习模式,每篇都会有一些总结,然后根据总结去查一查,学一学,基础就会很扎实的 python解释器 1.python版本和安装 python2.x和python3.x https://www ...

  7. vim 批量替换使用说明

    基本语法: :[addr]s/源字符串/目的字符串/[option] 全局替换命令: :%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. "1,20" ...

  8. iOS Simulator version 11 or later is currently not supported.

    iOS Simulator version 11 or later is currently not supported.You can open Xcode > Preferences > ...

  9. 浅谈 MongoDB

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较 ...

  10. [Sw] Swoole-4.2.9 可以尝试愉快应用 Swoole 协程

    大家知道 Swoole 提供了方便于服务器.网络编程的模式,简化了多进程编程. 这直接让 PHP 的运行很容易变成常驻内存的 Server 程序,执行效率上有了数倍的提升. 但是这一切还没有让人足够兴 ...