搜档网
当前位置:搜档网 › JMeter相关的问题(整理)

JMeter相关的问题(整理)

JMeter相关的问题(整理)
JMeter相关的问题(整理)

前言

刚接触JMeter,想把学习过程中遇到的一些问题,记录下来

因为是新接触,所以很多东西都在摸索中!

问题记录1:重定向问题

使用Badboy录制了公司一个项目的登录功能

导入到JMeter后,执行场景,发现登录校验成功,但后续的动作都未成功;

通过增加监听器-察看结果树中的:取样器结果、请求、响应数据

分析后发现,登录校验成功后,跳转页面时,Cookie被重置,导致后续动作都被视为未登录状态;

看到网上很多人说,需要对HTTP协议的测试脚本,增加:HTTP Cookie管理器,但Badboy录制的脚本,默认已经有了;

因是在登录校验成功后,进行重定向时,Cookie被重置的;

校验页面的HTTP请求中,有看到一个:自动重定向、跟随重定向的设置;

怀疑和这个有关系

修改默认的“自动重定向”为“跟随重定向”

登录成功,后续请求也都成功;OK,解决!

问题记录2:HTTP请求中文乱码问题

使用Badboy录制了一个HTTP请求;

“HTTP请求”,参数中的值,显示中文正常;但系统接收到的数据,中文显示为乱码;

在“察看结果树”中,查看该HTTP请求,“请求”POST的中文数据已经是乱码;

再回过头,看“HTTP请求”

发现请求信息中有一个设置“Content encoding”,修改为:utf8

再次执行场景

OK!

系统接收到的中文信息,显示正常;

问题记录3:badboy-录制时卡住,一直提示:recordingRequest

项目中有部分模块,使用badboy录制,会出现卡住的情况后发现其中有一个登录模块,用鼠标点击登录按钮,会卡住但使用键盘enter回车则录制正常

查看源代码:

...

$("#loginForm. input").keypress(function(event){

if(event.keyCode == 13){

$("#submitBtn").click();

}

});

=>

修改a href的javascript处理如下:

再使用badboy录制,则正常

另一个模块会出现卡住的情况,也是类似的:

购买

不知道是否badboy对javascript兼容不太好导致???

注:badboy使用的是最新版本2.2

问题记录4:jmeter-察看结果树-响应数据,中文显示乱码问题处理

jmeter-察看结果树-响应数据中的中文显示乱码jmeter\bin\jmeter.properties默认编码为:ISO-8859-1

# The encoding to be used if none is provided (default ISO-8859-1) #sampleresult.default.encoding=ISO-8859-1

根据测试系统修改对应的编码,如为utf-8

则增加编码设置为:

sampleresult.default.encoding=utf-8

修改配置后,要重启jmeter才会生效

问题记录5:jmeter脚本录制工具Badboy,录制时中转链接丢失??

这几天在使用jmeter脚本录制工具Badboy录制脚本时有发现录制过程中,会有一些中转链接丢失

项目环境:tomcat+java

Badboy版本:BadboyInstaller-2.2.exe

场景:

点击按钮,href链接到一个地址,该地址会进行是否已登录会员,如果未登录跳转到登录页,如果已登录,返回数据并跳转到另一个处理页;即按钮的href 链接为一个中转链接;

Badboy在录制过程中,有看到获取到该中转链接,但当录制视图窗口跳转到下一个页面时,该中转链接会被替换成跳转后的链接,即中转链接丢失;

这时导入到jmeter中,因中转链接丢失,成功登录后,无法得到正常返回的数据,并正常跳转到另一个处理页;

目前暂时通过firebug捕抓链接及请求数据,手动增加到jmeter步骤中;

因对Badboy及jmeter不熟,也未查到上述问题的相关资料,如有知情者,烦请告知,谢谢哈~!

自己做个记录先!

问题记录6:在Jmeter中使用自定义编写的Java测试代码-zt

转自:https://www.sodocs.net/doc/3a6804519.html,/li_ok/article/details/1487685

我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java Vuser"等协议.同样,Jmeter也支持自定义编写的测试代码,不过与LoadRunner不同的是,Jmeter没有自带编译器,需要借助第三方编译器才能实现.下面举一个简单的Java自定义测试代码例子,使用Java编译器编写测试代码(Java编译器可以用Eclipse,JBulider 等),实现功能为:在测试前输入任意一个字符串,然后判断该字符串的长度是否大于5,如果大于则测试结果成功,否则测试结果位失败,然后在放到Jmeter中模拟10个用户测试,同时运行这段代码,具体实现如下:

1.打开Java编译器,新建一个项目"TestLength",然后新建一个包"app".

2.从Jmeter的安装目录 lib/ext中拷贝两个文件"ApacheJMeter_core.jar"

和"ApacheJMeter_java.jar"到"Tester"的项目中,然后引入这两个JAR文件.(具体的引入方法参考各个Java编译器的使用方法)

3.在"app"包中新建一个类,名字叫"TestLength",不过这个类要继承

"AbstractJavaSamplerClient"类,如果项目引入步骤二中的两个文件,就可以找到"AbstractJavaSamplerClient"类了.

4."TestLength"类在继承"AbstractJavaSamplerClient"类的同时也会继承四

个方法,分别是"getDefaultParameters","setupTest","runTest"和

"teardownTest"方法."getDefaultParameters"方法主要用于设置传入的参数;"setupTest"方法为初始化方法,用于初始化性能测试时的每个线

程."runTest"方法为性能测试时的线程运行体;"teardownTest"方法为测试结束方法,用于结束性能测试中的每个线程.

5.具体实现代码如下:

package app;

import org.apache.jmeter.config.Arguments;

import

org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; import org.apache.jmeter.samplers.SampleResult;

import com.passpod.core.t8.*;

/**

* @author乐以忘忧

*

* TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style. - Code Templates

*/

public class TestLength extends AbstractJavaSamplerClient{

private SampleResult results;

private String testStr;

//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法

public void setupTest(JavaSamplerContext arg0) {

results = new SampleResult();

testStr = arg0.getParameter("testString", "");

if (testStr != null && testStr.length() > 0) {

results.setSamplerData(testStr);

}

}

//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中

public Arguments getDefaultParameters() {

Arguments params = new Arguments();

params.addArgument("testStr", ""); //定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值

return params;

}

//测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法

public SampleResult runTest(JavaSamplerContext arg0) {

int len = 0;

results.sampleStart(); //定义一个事务,表示这是事务的起始点,类似于LoadRunner的lr.start_transaction

len = testStr.length();

results.sampleEnd(); //定义一个事务,表示这是事务的结束点,类似于LoadRunner的lr.end_transaction

if(len < 5){

System.out.println(testStr);

results.setSuccessful(false);

//用于设置运行结果的成功或失败,如果是"false"则表示结果失败,否则则表示成功

}else

results.setSuccessful(true);

return results;

}

//结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行,类似于LoadRunner中的end方法

public void teardownTest(JavaSamplerContext arg0) {

}

}

6.把上面的例子打包,然后把生成的"TestLength.jar"文件拷贝到Jmeter的安

装目录lib/ext下.

7.运行Jmeter,添加一个线程组,然后在该线程组下面添加一个Java请求(在

Sampler中),在Java请求的类名称中选择咱们刚创建的类

"app.TestLength",在下面参数列表的"testStr"后面输入要测试的字符串,然后添加一个监听器(聚合报告),设置一下模拟的用户数就可以测试了.如果测试不成功,Jmeter会在它自己个输出框中抛出这个字符串.

通过上面的例子我们可以发现,使用Jmeter自定义Java测试代码,配合Jmeter 自带的函数,就可以实现出LoadRunner中"Java Vuser"协议的绝大多数功能,而且是没有用户数限制和完全免费的(嘿嘿).上面的例子非常简单,而且没有任何实际意义,只是一个简单的Jmeter测试代码示例,用于抛砖引玉,希望大家一起交流,共同进步.

问题记录6:JMeter相关的基本知识

1、吞吐量:是指在没有帧丢失的情况下,设备能够接受的最大速率。

2、存储的最小单位是字节Byte,对于存储单位,有以下几个单位,GB、MB和KB,那么这三者之间的换算关系是:1GB=1024MB,1MB=1024KB,1KB=1024Bytes。Bit :“位”,称为bit,也就是比特,有的时候也称为位。一个字节为8位二进制表示。Byte:“字节”,一个字节就是8比特。

3、Mbps (million bits per second 兆位/秒) 代表每秒传输1,000,000比特。该缩写用来描述数据传输速度。例如:4Mbps=每秒钟传输4M比特。数据传输速率的单位,字母b(bit)是比特和字母 B (Byte)是字节。(aggregate_report_rate)

4、吞吐量与带宽的区分:吞吐量和带宽是很容易搞混的一个词,两者的单位都是Mbps.先让我们来看两者对应的英语,吞吐量:throughput ; 带宽: Max net bitrate 。当我们讨论通信链路的带宽时,一般是指链路上每秒所能传送的比特数。我们可以说以太网的带宽是10Mbps。但是,我们需要区分链路上的可用带宽(带宽)与实际链路中每秒所能传送的比特数(吞吐量)。我们倾向于用“吞吐量”一次来表示一个系统的测试性能。这样,因为实现受各种低效率因素的影响,所以由一段带宽为10Mbps的链路连接的一对节点可能只达到2Mbps的吞吐量。这样就意味着,一个主机上的应用能够以2Mbps的速度向另外的一个主机发送数据。(aggregate_report_bandwidth)

5、方差和标准差都是用来描述一组数据的波动性的(集中还是分散),标准差的平方就是方差。方差越大,数据的波动越大。(aggregate_report_stddev)

Badboy-系列教程-资料整理2015-01-20 11:13:13

B adboy-系列教程-资料整理:

Badboy自动化测试工具1 界面介绍

https://www.sodocs.net/doc/3a6804519.html,/872759/1107079

Badboy自动化测试工具2 录制

https://www.sodocs.net/doc/3a6804519.html,/872759/1109940

Badboy自动化测试工具3 创建suites,tests,steps和Template

https://www.sodocs.net/doc/3a6804519.html,/872759/1111744

Badboy自动化测试工具4 运行脚本

https://www.sodocs.net/doc/3a6804519.html,/872759/1112128

Badboy自动化测试工具5 参数化Add Variable

https://www.sodocs.net/doc/3a6804519.html,/872759/1113716

Badboy自动化测试工具6 Variable Setter

https://www.sodocs.net/doc/3a6804519.html,/872759/1117646

Badboy自动化测试工具7 读取Excel

https://www.sodocs.net/doc/3a6804519.html,/872759/1119161

Badboy自动化测试工具8 Incrementing Variables

https://www.sodocs.net/doc/3a6804519.html,/872759/1120103

Badboy自动化测试工具9 查看回放结果

https://www.sodocs.net/doc/3a6804519.html,/872759/1123511

Badboy自动化测试工具10 导出脚本用于JMeter性能测试

https://www.sodocs.net/doc/3a6804519.html,/872759/1131119

Badboy自动化测试工具11 导出脚本用于Jmeter并发测试

https://www.sodocs.net/doc/3a6804519.html,/872759/1141011

JMeter基本使用方法

JMeter基本使用方法 白羽

1环境搭建 此部分是我借用LoadRunner的Sample程序作为服务器,通过JMeter进行Web性能测试的过程。希望对学习JMeter的朋友有所帮助。

2使用JMeter录制脚本 2.1 建立JMeter测试计划(Test Plan) 打开JMeter,看到左边显示一个空的测试计划,把该测试计划改名为TestPlan1。右键单击该测试计划,选择“添加(Add)”-“线程组(Thread Group)”,添加一个线程组,改名为TestGroup1。如下图所示: 2.2 设置并启动JMeter代理服务器 右键单击在“工作台(Work Bench)”,选择“非测试元件(Non-Test Elements)”中的“Http代理服务器(HTTP Proxy Server)”,如下图所示:

设置该“Http代理服务器”(HTTP Proxy Server),“目标控制器(Target Controller)”选择刚才建立的线程组(Test Plan1>Thread Group1)。 点击“启动”,启动该代理服务器。 2.3 设置IE的代理服务器配置 测试工程师打开IE界面,选择“工具(Tools)”->“Internet选项(Internet Option)”

->“连接(connections)”->“局域网设置(LAN setting)”,如下图所示: 在局域网设置(LAN setting)界面勾上“为LAN使用代理服务器(Use a proxy server for your LAN)”,设置地址(address)为“localhost”,端口(Port)为8080,确定(OK)。 2.4 录制脚本 在浏览器的URL栏输入需要测试的地址,进行操作,操作完毕后,点击JMeter中的“Http代理服务器(HTTP Proxy Server)”的“停止(STOP)”按钮,你将能看到“TestGroup1”下面已经录制了刚才操作的内容。如下图所示:

PCM3-D2550中文使用手册

用户手册 PCM3-D2550 嵌入式单板 版本 2013 年8 月 修订:A0 版权保护及声明 本手册为深圳灵江计算机技术有限公司的知识产权,内容受版权保护,版权所有。未经认可,不得以机械的,电子的或其它任何方式进行复制。除列明随产品配置的配件外,本手册包含的内容并不代表本公司的承诺,我们很小的编写此手册,但我们对于本手册的内容不保证完全正确,因为我们的产品一直在持续的改良及更新,故我方保留随时做出修改而不予另行通知的权利。对于任何安装、使用不当而导致的直接的、间接、有意或无意的损坏及隐患概不负责。您在订购产品前,请详细了解产品性能是否符合您的需求。 商标 本手册使用的所有商标均属于各自的商标持有者所有: Intel和Atom是Intel的注册商标 Win7/8和Windows XP是Microsoft 的注册商标

装箱物品检查 请确认您所购买的主板包装盒是否完整,如果包装有所损坏、 或是有任何配 件欠缺的情形,请尽快与我们联络。 1 块PCM-D2550主板 2 组串口转接电缆 1 条 SATA 电缆 1 条SATA-PWOR 电缆 订购信息 欲知更多信息欢迎访问: https://www.sodocs.net/doc/3a6804519.html, 目录 1. 产品介绍 ... ................................................................................................................. (5) 1.1 简介 ... ..................................................................................................................... (5) 1.2 环境与机械尺寸 ... ................................................................................................. (7) 2. 主板构造图 ... ............................................................................................................. ..8 2.1 功能接口标识描述 ... .............................................................................................. ..8 3. 主板安装 ... ................................................................................................................ (9) 3.1 安全指导 ... ............................................................................................................. (9) 3.2 系统内存的安装 ... ................................................................................................. (10) 3.3 跳线设置 ... ............................................................................................................. (11) 4. 板载接头和接口 ... ..................................................................................................... ...12 5. 5. 主板控制按钮、状态指示 ...................................................................................... (21) 6.GPIO 定义/编程指引 ... ............................................................................................ ..23 7.Watchdog 看门狗编程指引 ................................................................................ (25) 8.BIOS 设置 ... ............................................................................................................. (26) 型号 描述 标配 D2550/VGA/HDMI/单(18/24)Bit LVDS/GPIO/SATA/MSATA/ 2MPCIe/LAN/SD 卡座/SIM 卡槽/AUDIO 可选功能 双24位LVDS 、触摸屏控制(4/5/8线) 可选配件 遥控器、遥控接收器、薄膜轻触开关

jmeter中文使用手册

Jmeter用户手册 整理人:大傻 2008-12-12 1介绍 Apache JMeter 是100%纯JA V A桌面应用程序,被设计为用于测试CS结构的软件。 同时也可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlets,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。 同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许你使用常规表达式来创建这些assertions。 2开始 2.1安装 下载安装最新的版本,将会包含所有你需要建立和运行Web,FTP,JDBC和JNDI测试的文件。如果你想进行JDBC测试,你需要使用合适的JDBC driver。JMeter中不包含JDBC drivers。其他可能需要下载的软件: Bean Shell Java Activation Framework – needed for Java Mail Java Mail – needed for mail visualiser and SOAP test JMS – for JMS samples General Java Kit 接下来一步,就是浏览“建立测试计划”一章来熟悉JMeter的基本操作,例如:添加和删除元素。最后,浏览适当的章节来学习如何建立不同种类的测试计划。例如,如果你对Web应用程序的测试比较感兴趣,就浏览“建立一个Web测试计划”章节。其他种类的测试计划建立的章节包括:JDBC,FTP和JNDI。 一旦你熟悉了建立和运行JMeter测试计划,就可以开始熟悉各种配置参数,例如:timers,listeners,assertions和其他的参数,来帮助你更好地控制你地测试计划。 2.2系统要求 JMeter 1.8 以上的版本需要JDK1.4以上的版本支持运行。JMeter可以运行在如下操作系统上:Unix,Windows和Open VMS。 l安装JDK: l JA V A的环境变量设置 1.使用鼠标右击“我的电脑”->属性->高级->环境变量 2.系统变量->新建->变量名:JA V A_HOME 变量值:d:\jdk 3.系统变量->编辑->变量名:Path 在变量值的最前面加上:%JA V A_HOME%\bin; 4.系统变量->新建->变量名:CLASSPATH 变量值:。; l安装Tomcat

Jmeter中文手册

JMETER中文手册 1.简介 Apache JMeter是100%纯java桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如web应用程序)。它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java对象,数据库,FTP服务器等等。JMeter可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。 另外,JMeter能够通过让你们用断言创建测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。 1.1历史 Apache软件组织的Stefano Mazzocchi是JMeter的创始人。他编写它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。我们重新设计JMeter来增强用户界面并增加功能测试的能力。 1.2未来 我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有影响JMeter的负载测试能力的情况下尽可能使JMeter 成为最实用的回归测试工具。 2.入门 开始使用JMeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI等测试时使用需要的所有文件。 如果你想执行JDBC测试,你当然需要从供应商得到适当的JDBC驱动。JMeter 没有提供任何JDBC驱动。 你可能需要下载的其它软件: ?BeanShell-BeanShell函数和测试元件需要 ?Java Activation Framework-JavaMail需要

完整的JMETER使用手册 2

JMETER中文手册 9.3.1.简介 Apache JMeter是100%纯java桌面应用程序,用于压力测试和性能测试。被设计用来测试客户端/服务器结构的软件(例如web应用程序)。它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP服务器等等。JMeter可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。 另外,JMeter能够通过让我们用断言创建测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。 Apache软件组织的Stefano Mazzocchi是JMeter的创始人。他编写它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程),主要针对Web的压力和性能测试。 为了能够让开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有影响JMeter的负载测试能力的情况下尽可能使JMeter 成为最实用的回归测试工具,将JMeter扩展到其他测试领域。JMeter可以用于测试FTP、RPC、HTTP、JUNIT、JMS、LDAP、WebService、(Soap)Request以及Mail和JDBC(数据库压力测试)。 3.2JMeter基础应用 开始使用JMeter最容易的方法是首先下载最新版(到JMeter官方网站:https://www.sodocs.net/doc/3a6804519.html,/download_jmeter.cgi下载)并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI等测试时使用需要的所有文件。 如果你想执行JDBC测试,你当然需要从供应商得到适当的JDBC驱动。JMeter 没有提供任何JDBC驱动。 你可能需要下载的其它软件: ?BeanShell-BeanShell函数和测试元件需要 ?Java Activation Framework-JavaMail需要 ?Java Mail-Mail可视化,Mail Reader和WebService(SOAP)取样器需要

Jmeter中文介绍材料(完全版)

安装JDK: JAVA的环境变量设置 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:JAVA_HOME 变量值:d:\jdk 系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin; 系统变量->新建->变量名:CLASSPATH 变量值:.; 安装Tomcat CATALINA_HOME=d: \tomcat User Manual 用户手册 1 介绍 Apache JMeter 是100%纯JAVA桌面应用程序, 被设计为用于测试CS结构的软件. 同时也可以用来测试静态和动态资源的性能, 例如:静态文件, Java Servlets, CGI Scripts, Java Object, 数据库和FTP服务器等等. JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能. 同时, JMeter可以帮助你对你的应用程序进行回归测试. 通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值. 为了更高的适应性, JMeter允许你使用常规表达式来创建这些assertions. 2 开始 2.1 安装 下载安装最新的版本, 将会包含所有你需要建立和运行Web, FTP, JDBC和JNDI测试的文件. 如果你想进行JDBC测试, 你需要使用合适的JDBC driver. JMeter中不包含JDBC drivers. 其他可能需要下载的软件: ●Bean Shell ●Java Activation Framework – needed for Java Mail ●Java Mail – needed for mail visualiser and SOAP test ●JMS – for JMS samples ●General Java Kit 接下来一步, 就是浏览”建立测试计划”一章来熟悉JMeter的基本操作, 例如:添加和删除元素. 最后,浏览适当的章节来学习如何建立不同种类的测试计划. 例如, 如果你对Web 应用程序的测试比较感兴趣, 就浏览”建立一个Web测试计划”章节. 其他种类的测试计划建立的章节包括:JDBC, FTP和JNDI. 一旦你熟悉了建立和运行JMeter测试计划, 就可以开始熟悉各种配置参数, 例如: timers, listeners, assertions和其他的参数, 来帮助你更好地控制你地测试计划.

JMeter中文教程

Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。JMeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。 另外,JMeter能够通过让你们用断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而 Apache软件组织的Stefano Mazzocchi是JMeter的创始人。他写出它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。我们重新设计JMeter来增强用户界面和增加功能测试的 我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有危机JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。 开始使用JMeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI测试时使用的所有文件。 如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。 其它你可能需要下载的软件: ?BeanShell ?Java Activation Framework - JavaMail需要 ?Java Mail - mail 显示 and SOAP 测试需要 ?JMS - JMS 取样器 ?General Java download page 详细参见安装的jar包中的 JMeter Classpath 一章 ? 下一步, 开始使用JMeter并且参见用户手册构建测试计划一章使自己更加熟悉JMeter基础 (例如,添加和删除元素)。 最后, 参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web应用测试感兴趣,那就参见构建一个Web测试计划。其他测试计划的细节是JDBC, FTP, and JNDI。 一旦你熟练构建和执行JMeter测试计划, 通过你的测试计划你会观察到给你更多帮助的各种元素的配置(定时器, 监听器, 断言, 和其他)。 JMeter 需要运行环境匹配的最小需求。 2.1.1 Java 版本 JMeter 需要一个完整适当的JVM 1.3或更高的版本. 我们现在尽力与JVM 1.3保持兼容,然而JMeter 在1.4或者更高运行的会最好。 因为JMeter 仅使用Java标准API, 请不要把因为JRE实现版本而无法运行JMeter的bug报告提交。 Java 1.3 不包括 SSL (HTTPS) 支持 - 你将需要下载 JSSE. 同样, 它不会像其他更 高版本的Java那样好的运行。为了更好的结果使用Java1.4或者1.5。

JMeter学习概要

JMeter工具 1.Jmeter的基本介绍 官网:https://www.sodocs.net/doc/3a6804519.html,/ JMeter是Apache组织开发的基于Java的压力测试工具,开源的性能测试工具。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。 Jmeter插件:https://www.sodocs.net/doc/3a6804519.html,/ Jmeter不需要安装,直接从网站上下载二进制包,解压到任意目录下即可使用,可以在Windows、Linux和Mac等平台上运行,在Windows上需要执行bin目录下的jmeter.bat;在Linux平台上需要执行bin目录下的jmeter.sh。 1.1.断言 断言就类似LoadRunner中的检查点。对上一个请求返回的信息,做字符串、数据包大小、HTML、XML、图片等做判断,确保返回的信息的准确性。 在每个http请求下,添加响应断言,如:登录做断言,就是登录后的界面中包含的字符、或数据等(已登录) 1.2.配置元件 配置元件的作用:用于提供对静态数据配置的支持。 1)HTTP Cookie 管理器:负责管理整个测试过程中使用的cookie,它不需要设置任何属性。

2)CSV Data Set config 可以将本地数据文件形成数据池,参数化设置。1.3.定时器 定时器用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。 1)固定定时器:设置线程延迟XX毫秒,延迟3秒在执行登录操作 作用是:调整每个请求的频率。 1.4.监听器 监听器的作用:以各种不同方式收集测试结果 1)jp@gc - Response Times Over Time:响应时间

badboy中文手册

一badboy简介 Badboy监控internet explorer的活动,提供录制/回放功能. 录制功能:badboy窗口的顶部显示当前是否处于录制状态,如果点击play按钮,badboy自动关闭录制功能,等到play结束后,可以点击recording按钮,继续录制脚本. Remark:必须等到上一步的request处理完毕后,才能点击发送下一个request,否则下一个request会作为第一个request的子frame. 二基本操作 1 创建suites,tests以及steps 测试与网站的交互过程,可以在逻辑上划分为几个步骤.例如第一个步骤为登陆雅虎邮箱,第二步为浏览收件箱,第三步为发送邮件.每一个步骤可以包含一到多次的网站交互动作.badBoy中点击new step创建新的步骤. 同理,可以创建suites 以及tests. Badboy回放时,一次执行一个step,每执行完一个step,会显示执行结果,用户必须再次点击play按钮后,执行下一个step.

2 自动化测试脚本 如果不修改脚本,简单的录制回放并不能满足复杂网站的测试. 复杂网站往往有下面一些测试场景: A 页面参数唯一性要求,例如:注册页面,需要对用户的注册名进行唯一性校验. B 测试的server地址不同. Badboy提供了易用的参数修改方法,仅仅需要双击request或者参数,在弹出窗口内修改.同时badboy提供search&replacing功能来修改脚本中的参数值. Remark:建议选择linking variables,同一个参数,往往脚本会发送多次,选择linking variables后,badboy会查找所有的与参数有关的值.并统一替换. 三特点与技术 1 录制模式 Badboy提供两种录制模式:一request 模式(默认模式) 二navigation 模式.点击下图N,切换模式. Request模式具有如下优点:如果测试的网页模版修改了,不影响脚本的回放.如果需要badboy导出脚本到jmeter进行性能测试,必须选择request模式.同时

Jmeter_基础操作以及出现问题的解决方案

操作说明以及问题解决方案,以下是一个事例,请参考。 操作说明:学员登录“点考系统”,进入“考试系统”获取试卷进行考试,提交考试,退出“点考”登录。 步骤1:首先使用badboy录制将要执行的脚本,录制完成,点击File---Export to Jmeter。 步骤2:准备学员登录的账号,导入到点考系统中,即学员注册成功; 步骤3:把学员账号与密码导入到一个txt文件中。(此次使用相同的密码,所以只 导入了学员账号); 步骤4:使用Jmeter打开脚本,选中“Thread Group”右键---添加---配置元件---CSV Data Set Config。 添加内容如下: 步骤5:优化操作步骤,把每一步的名称进行修改。 添加断言,选中需要添加断言的步骤-右键点击“添加”-断言-响应断言。 建议:每一步都需要添加相应的断言,以确认显示的内容是否符合预期结果。

添加“要测试的模式”输入,根据浏览器F12调出“开发人员工具”-Network-Response中摘取此页面特有字段或语句。 步骤6:点击“Thread Group”,当进行优化脚本时“线程属性”均设置为1。

步骤8:选中“Thread Group”右键---添加---监听器---聚合报告。(做性能测试时, 查看速度,后面详情介绍)。 选中“Thread Group”右键---添加---监听器---查看结果树。(参看脚本错误 内容) 步骤9:根据“查看结果树”执行结果,查看“响应数据”内容与真实的界面显示是否一致。 问题1:此处显然并没有进入到登录后的页面,所以此处有问题。

打开相关的HTTP请求页,把“自动重定向”改为“跟随重定向”。包括登录之前的所有步骤均需要改为“跟随重定向”。根据我的理解“自动重定向”是在同一页面做不同的操作,但页面地址不改变。“跟随重定向”是进行了跳转页面。

jmeter,正则表达式提取器,模板

竭诚为您提供优质文档/双击可除jmeter,正则表达式提取器,模板 篇一:完整的jmeteR使用手册 jmeteR中文手册 1.简介 apachejmeter是100%纯java桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如web应用程序)。它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,javaservlets,java对象,数据库,Ftp服务器等等。jmeter可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。 另外,jmeter能够通过让你们用断言创建测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,jmeter允许我们使用正则表达式创建断言。 1.1历史 apache软件组织的stefanomazzocchi是jmeter的创始人。他编写它起初是为了测试apachejserv的性能(一个已

经被apachetomcat工程所替代的工程)。我们重新设计jmeter来增强用户界面并增加功能测试的能力。 1.2未来 我们希望看到作为开发者利用它的可插入架构使jmeter的功能快速扩展。未来发展的主要目标是在没有影响jmeter的负载测试能力的情况下尽可能使jmeter成为最实用的回归测试工具。 2.入门 开始使用jmeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行web,Ftp,jdbc,和jndi等测试时使用需要的所有文件。如果你想执行jdbc 测试,你当然需要从供应商得到适当的jdbc驱动。jmeter 没有提供任何jdbc驱动。 你可能需要下载的其它软件: -beanshell函数和测试元件需要-javamail需要 -mail可视化,mailReader和webservice(soap)取样器需(jmeter,正则表达式提取器,模板)要-jms取样器需要详细参见jmeterclasspath一章安装附加的jar包下一步,开始使用jmeter并且参见用户手册一章使自 己更加熟悉jmeter基础(例如,添加和删除元件)。 最后,参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对web应用测试感兴趣,那就参见创建一

JMETER中文教程

HTTP协议简介 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: ?HTML是一种用来定义网页的文本,会HTML,就可以编写网页; ?HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。 在举例子之前,我们需要安装Google的Chrome浏览器。 为什么要使用Chrome浏览器而不是IE呢?因为IE实在是太慢了,并且,IE对于开发和调试Web应用程序完全是一点用也没有。 我们需要在浏览器很方便地调试我们的Web应用,而Chrome提供了一套完整地调试工具,非常适合Web开发。 安装好Chrome浏览器后,打开Chrome,在菜单中选择“视图”,“开发者”,“开发者工具”,就可以显示开发者工具: Elements显示网页的结构,Network显示浏览器和服务器的通信。我们点Network,确保第一个小红灯亮着,Chrome就会记录所有浏览器和服务器之间的通信:

当我们在地址栏输入https://www.sodocs.net/doc/3a6804519.html,时,浏览器将显示新浪的首页。在这个过程中,浏览器都干了哪些事情呢?通过Network的记录,我们就可以知道。在Network中,定位到第一条记录,点击,右侧将显示Request Headers,点击右侧的view source,我们就可以看到浏览器发给新浪服务器的请求: 最主要的头两行分析如下,第一行:

GET表示一个读取请求,将从服务器获得网页数据,/表示URL的路径,URL总是以/开头,/就表示首页,最后的HTTP/1.1指示采用的HTTP协议版本是1.1。目前HTTP协议的版本就是1.1,但是大部分服务器也支持1.0版本,主要区别在于1.1版本允许多个HTTP请求复用一个TCP连接,以加快传输速度。 从第二行开始,每一行都类似于Xxx:abcdefg: 表示请求的域名是https://www.sodocs.net/doc/3a6804519.html,。如果一台服务器有多个网站,服务器就需要通过Host 来区分浏览器请求的是哪个网站。 继续往下找到Response Headers,点击view source,显示服务器返回的原始响应数据:

完整的JMETER使用手册-适合初学者

JMETER中文手册分享 1.简介 Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java对象,数据库,FTP服务器等等。JMeter可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。 另外,JMeter能够通过让你们用断言创建测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。 1.1 历史 Apache软件组织的Stefano Mazzocchi是JMeter的创始人。他编写它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。我们重新设计JMeter 来增强用户界面并增加功能测试的能力。 1.2 未来 我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有影响JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。 2.入门 开始使用JMeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI等测试时使用需要的所有文件。 如果你想执行JDBC测试,你当然需要从供应商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。你可能需要下载的其它软件: BeanShell - BeanShell函数和测试元件需要 Java Activation Framework - JavaMail需要 Java Mail - Mail可视化,Mail Read er 和WebService(SOAP)取样器需要 JMS - JMS取样器需要 下一步, 开始使用JMeter并且参见用户手册创建一个测试计划一章使自己更加熟悉JMeter基础(例如,添加和删除元件)。 最后, 参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web应用测试感兴趣,那就参见创建一个Web测试计划。其他具体的测试计划章节是:高级Web测试计划、JDBC、FTP、JMS 点到点、JMS 主题、LDAP

JMeter中文使用手册

JMeter中文使用手册 Version: 1.0 Author : Alex Bai

1.Apache jmeter 纯java桌面应用程序,设计用来测试C/S结构的软件,可以用来测试包含基于静态和动态资源程序的性能,jmeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。 Jmeter能够通过让你们用断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。 2.代理服务器? 3.创建测试计划 一个测试计划描述了一系列jmeter运行时要执行的步骤。一个完整的测试计划包含一个或者多个线程组,逻辑控制,取样发生控制,监听器,定时器、断言和配置元件。 4.运行测试计划 为了运行一个测试计划,从“run”菜单项选择“start”。停止同样! Stop 5.作用域规则 Jmeter测试树包含元件总是分等级和顺序的,在测试树中的一些元件是严格分级(监听器,配置元素,后置处理器,前置处理器,断言,定时器),一些主要是顺序的(控制器、取样器)。当你创建你的测试计划时,你将创建一个描述被执行的步骤集的取样请求有序列表。哪些请求常组织在有序的控制器中。 一个断言在测试中是分等级的。如果你的父元件是请求,它就被应用于那个请求,如果它的父元件是控制器,它就影响所有控制器下的所有请求。 6.服务器模式 为了分布测试,在服务器模式运行jmeter,并且通过用户界面控制每一台服务器。 7.测试计划元件 测试计划对象有一个叫做“功能测试”复选框。如果被选择,它将导致jmeter记录来自服务器返回的每个取样的数据。如果你在你的测试监听器中选择一个文件,这个数据将被写入文件。怀疑这里功能测试指得是:测试计划中的函数模式,但是这个将很影响性能。 8.后置处理器元件 一个后置控制器在一个取样器请求被建立后执行一些操作,如果一个后置处理器附属于一个取样器元件,它仅在取样器元件运行后执行,后置处理器最多用来处理相应数据,常用来从它里面摘录数值。 9.执行顺序 定时器—任何个 取样器 后置处理器 断言 监听器 10.添加用户 处理每个jmeter测试计划的第一步就是添加线程组元件,这个线程组会告诉jmeter你

学习jmeter和技巧

JMeter 使用入门 最近在公司想做下压力或负载测试,当然我首先想到的就是用JMeter,以前也认识过它,可能它能满足基本测试需求。使用之前要先认识下它。 先到官方网站下载最新版本:https://www.sodocs.net/doc/3a6804519.html,/site/downloads/downloads_jmeter.cgi,目前最新版是jakarta-jmeter-2.3.2。 运行bin/jmeter.bat后,先来了解几个术语: 1、线程组:测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。 2、取样器(Sampler):可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。 3、断言:对取样器返回的请求结果给出判断,是否正确。 4、monitor:它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。 先这些概念。下面来试用一下: 添加线程组,右击测试计划->添加->线程组,线程数为2,Ramp-Up=0,循环次数=5;添加取样器:右击线程组->添加->Sample->HTTP 请求,Web服务器localhost,端口8080,协议http,路径/index.jsp;添加monitor,右击线程组->添加->monitor->图形结果(第二个),然后再添加一个Summary report monitor。 然后,运行->启动,在两个monitor中都可以看到一些内容,如: JMeter 的主要测试组件总结如下: 1、测试计划是使用JMeter 进行测试的起点,它是其它JMeter 测试元件的容器。

相关主题