jmeter初级

jmeter3.0下载地址:http://jmeter.apache.org/download_jmeter.cgi

插件:几组各种类型的线程组,可以配置线程的加入方式和离开方式。新增了几组监听器,用于查看测试结果

http://www.jmeter-plugins.org/,将JMeterPlugins-Standard.jar放到{Jmeter_home}\lib\ext目录,

Jmeter每个任务都由测试计划组成,每个测试计划又包含了各种elements,通过不同的elements之间的组合来完成测试计划。一般常用的elements如下:

thread group:包含一组线程,每个线程独立地执行测试计划。

sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,java请求等等。

listener:有多种不同的实现,主要用于统计测试接话运行中的数据并展示,如可以进行图形化方式展示响应时间。图形结果,查看结果树,聚合报告是比较基础的监听器。

assertions:断言,有多种不同实现,可以测试sample请求后返回的内容是否符合期望值。例如可以判断html返回的内容是否符合期望。

HTTP请求

    1.建立线程组,按需配置线程组的属性

2.在线程组上添加采样器 http请求,按需配置服务器,端口号,请求路径等各属性

3.按需添加各个监听器用于查看测试的结果,如图形结果,查看结果树,聚合报告。

4.可在http请求上添加断言来测试返回结果是否正确

一个简单的http请求的测试建立完成以后的样子

然后点击运行就可以在各个监听器上看到测试的结果了

JAVA请求

和http请求类似,只是添加采样器的时候选择java请求。

在类名称一栏里选择的测试用例需要自己手动写和添加

新建的用例类需要继承AbstractJavaSamplerClient,方法如下


Arguments


getDefaultParameters() 用于获取界面的参数


SampleResult


runTest(JavaSamplerContext context) 类似于LR的Action,result.sampleStart()一个事务开始,result.sampleEnd()一个事务 结束


void


setupTest(JavaSamplerContext context) 初始化方法,类似于LR的init和Junit中的setUp()


void


teardownTest(JavaSamplerContext context) 类似于LR的end和Junit中的tearDown()

执行的先后顺序为:

getDefaultParameters() --> setupTest(JavaSamplerContext context) --> runTest(JavaSamplerContext context) --> teardownTest(JavaSamplerContext context)

porm文件需要添加依赖

<dependency>

<groupId>org.apache.jmeter</groupId>

<artifactId>ApacheJMeter_java</artifactId>

<version>3.0</version>

</dependency>

<dependency>

<groupId>org.apache.jmeter</groupId>

<artifactId>ApacheJMeter_core</artifactId>

<version>3.0</version>

</dependency>

如下为一个简单的用例:

public class JmeterFacadeTest extends AbstractJavaSamplerClient {

private static String label_name = "FacadeTest";// 定义label名称,显示在jmeter的结果窗口

private static final ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext-test.xml");

private AuthRemoteServiceFacade authRemoteServiceFacade = null;

@Override

public void setupTest(JavaSamplerContext arg0) {

System.out.println("测试用例执行开始...");

authRemoteServiceFacade = (AuthRemoteServiceFacade) context.getBean("authRemoteServiceFacade");

}

@Override

public Arguments getDefaultParameters() {

// 参数定义,显示在前台,也可以不定义

Arguments params = new Arguments();

params.addArgument("accountNo", "02223");

return params;

}

public SampleResult runTest(JavaSamplerContext arg0) {

boolean success = true;

SampleResult sr = new SampleResult();

sr.setSampleLabel(label_name);

sr.sampleStart();// 用来统计执行时间--start--

try {

String accountNo = arg0.getParameter("accountNo");

AccountRO ro = authRemoteServiceFacade.getAccount(accountNo);

sr.setResponseMessage(JSON.json(ro));

sr.setResponseCode("1000");

} catch (Exception e) {

success = false;

} finally {

sr.sampleEnd();// 用来统计执行时间--end--

sr.setSuccessful(success);

}

return sr;

}

@Override

public void teardownTest(JavaSamplerContext arg0) {

System.out.println("测试用例执行结束...");

}

写完以后将工程打成jar包,放到{Jmeter_home}\lib\ext目录,并把所有依赖的jar包放到{Jmeter_home}\lib下,这样就能在类名称这看到自己所选的用例了。

分布式测试

1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

  2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。

  3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

slave机上需要安装Jmeter,且如果是java请求的话也需要把测试用例的jar包放到{Jmeter_home}\lib\ext目录,并把所有依赖的jar包放到{Jmeter_home}\lib下

如果slave机系统是windows系统,则启动bin目录下的:jmeter-server.bat。

如果是linux系统,则通过jmeter-server命令启动,./jmeter-server -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(就是slave机的ip)。1.如果报Permission denied,则通过chmod 777修改权限。

修改master机bin目录下的jmeter.properties文件,修改如下配置:remote_hosts=xxx.xxx.xxx.xxx:1099这里的ip就是所有slave机的ip,端口默认为1099。

这样就能在master机运行,远程启动下看到所有配置的slave机,可以分别启动,也可以通过

远程全部启动启动所有的slave机来执行测试,并把结果返回。

以上就是jmeter的基本操作内容。

个人感觉压力测试线程太多会受执行机的性能影响比较大,因此压测要在服务器上,而且最好分布式的压测。

时间: 2024-10-16 15:46:59

jmeter初级的相关文章

JMeter学习-004-WEB脚本入门实战

此文为 JMeter 入门实战实例.我是 JMeter 初学菜鸟一个,因而此文适合 JMeter 初学者参阅.同时,因本人知识有限,若文中存在不足的地方,敬请大神不吝指正,非常感谢! 闲话少述,话归正题.本文将从 Chrome浏览器代理配置.JMeter HTTP代理服务器 配置.JMeter HTTP代理服务器获取HTTP请求.JMeter脚本创建.JMeter脚本运行 五个方面,分三大块对 JMeter 初级实战应用配以图文,进行详细步骤描述,真正的做到一步一步.从无到有. 一.WEB 浏览

Jmeter建立一个扩展LDAP测试计划

添加用户 第一步你想做的每一个JMeter测试计划是添加一个线程组元素. 线程组告诉JMeter的用户数量你想模拟,用户应该发送的次数 请求,他们应该发送的请求的数量. 继续添加 线程组 首先选择元素 测试计划 ,点击你的 鼠标右键来获得 添加 菜单,然后选择 添加 一个?? 线程(用户) 一个?? 线程组 . 您现在应该看到 线程组 元素在 测试计划 . 如果您没有看到的元素,然后测试计划树的“扩大” 点击测试计划元素. 图9责任. 线程组的默认值 添加LDAP请求违约 用户首先选择LDAP

jmeter 建立一个扩展LDAP测试计划

添加用户 第一步你想做的每一个JMeter测试计划是添加一个线程组元素. 线程组告诉JMeter的用户数量你想模拟,用户应该发送的次数 请求,他们应该发送的请求的数量. 继续添加 线程组 首先选择元素 测试计划 ,点击你的 鼠标右键来获得 添加 菜单,然后选择 添加 一个?? 线程(用户) 一个?? 线程组 . 您现在应该看到 线程组 元素在 测试计划 . 如果您没有看到的元素,然后测试计划树的“扩大” 点击测试计划元素. 图9责任. 线程组的默认值 添加LDAP请求违约 用户首先选择LDAP

Jmeter性能测试从入门到精通

课程观看地址:http://www.xuetuwuyou.com/course/251课程出自学途无忧网:http://www.xuetuwuyou.com 课程介绍全程实战,每个知识点通过实际项目演练讲解理论实践结合,既会做,又知道为什么这样做讲解时同其他工具做对比,加深理解,了解区别分享技巧,用起来事半功倍从基础讲起,小白也能接受 课程目标熟练掌握 jmeter 工具 熟练使用 jmeter进行脚本开发 熟练使用 jmeter进行接口测试 熟练使用 jmeter 进行性能测试 熟练使用抓包工

Jmeter学习(一)--环境配置

前言: 最近从上家公司离职,进入某外包公司做接口测试,由于之前只会用soapui和postman进行接口测试(初级的请求),这次趁着放假,捣鼓一下jmeter 老规矩,先了解jmeter的背景(下面两段是网上找的) Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.Java 小服务程序.CGI 脚本.Java 对象.数据库.FTP 服务器, 等

jmeter入门操作手册

基础操作手册:Windows Mr丶菜鸟 1.下载jmeter  ,jmeter是一款基于java的开源工具,可以测试接口和性能,需要jdk环境,下载jmeter地址:https://jmeter.apache.org/download_jmeter.cgi 下载安装之后进行解压,启动文件在jmeter文件包中bin目录下,jmeter.bat是启动文件 2.开始调用http请求 测试地址:http://httpbin.org/ 新建一个线程组 右键线程组,添加一个HTTP请求,用于发送请求,并

《jmeter接口自动化与性能实战-飞天小子.pdf》

Jmeter作为开源测试工具,以其轻便,功能齐全的优点,正越来越受到企业的重视.作为纯java的工具,它的扩展性无比强大,既可以做功能测试,也可以做性能测试:既支持接口层面的测试,也支持webdriver驱动浏览器做ui测试.它支持各种协议,各种数据库,甚至于大数据,MQ这些前沿技术也被加入了进来.正因为版本迭代越来越快,功能越来越复杂,所以在实际操作过程中我们会遇到很多困难.而网上的一些教程由于版本过于陈旧,已经不能满足于我们的需求.我在工作之余,耗费了大量个人的时间潜心编写和整理了这套jme

初级软件测试总结

1.测试用例编写 1.1 设计测试用例的依据 根据需求文档,项目设计文档,接口文档,系统使用手册等来设计测试用例. 重点是要理清项目的流程,核心模块,实现的主要功能. 还应该在开发过程与测试过程之间建立起一对一的联系. 一般的软件测试生命周期: 需求分析-用例设计-脚本开发-测试执行-结果分析 但在实际测试过程中,会根据项目的周期来调整测试的时间. 1.2最常接触的基础测试类别 1.2.1模块测试 - 模块测试的目的是发现程序模块与其接口规格说明之间的不一. 1.2.2功能测试 功能测试的目的是

linux+jmeter+python基础+抓包拦截

LINUX 一 配置jdk 环境 *需要获取root权限,或者切换为root用户 1.windows下载好,去 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 官方网站下载jdk(linux相应版本) 2.在usr目录下创建java路径文件夹 [root bin]cd /usr mkdir java 3.将jdk-8u60-linux-x64.tar.gz放到刚才创建的文件夹下