使用Jmeter测试java请求

1、性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发、打包好要测试的代码,就能在Java请求中对该java方法进行性能测试
2、本文举的例子是Java实现通过传入两个参数,将值写入到文件中


  • 开发思路
    1、使用Eclipse创建Maven 项目,配置Pom文件,引入Jmeter开发Java请求所需的依赖包;
    2、创建输入参数类,和测试类,然后继承JavaSamplerClient,实现四个主方法;
    3、对编写好的项目进行编译、打包
    4、把打包好的函数放到jmeter扩展目录,调用Java请求,对封装的Java方法进行测试;

JDK环境 Jmeter依赖包版本 Maven仓库版本
1.8 4.0 3.5.3


Java_Sample完整项目下载地址 测试提取码:g8do

一、新建Maven项目

1.File》New》Project,选择Maven》Maven Project,一直点击Next


2.配置Pom文件,Pom文件配置的Jmeter4.0版本,只要保存了Pom文件,系统就会自动下载和关联相应的jar包,Pom配置文件如下:

3.保存Pom文件之后,系统会自动下载关联的依赖文件,会用到的为ApacheJMeter_core-4.0.jar和ApacheJMeter_java-4.0.jar如下图:
保存前:

保存后:

4.此时,由于对pom文件进行了修改,项目顶层会出现一把×,并且编译可能就会报错,需要执行Maven》Update Project更新外部依赖的Jar包

  • 更新前:
  • 更新后,编译、打包正常:

    二、编写输入参数类,和测试类

    1.1. 输入参数类,该类就是被测试的java方法,主要是实现将参数写入到文件,代码如下:

    1.2. 测试类,首先在com.xiet.Java_Sample包下创建一个类,类名为Jmeter_Test,需要继承JavaSamplerClient类,然后实现父类的四个方法,和一个main方法

  • main主方法主要是用来本地调试,用来测试封装的Java方法是否功能正常,如果能实现正常功能,就可以进行编译、打包在Jmeter中进行调用
  • setupTest方法为初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,默认置空即可
  • runTest方法为测试方法,该方法用来传入输入的参数,然后调用参数类,进行测试
  • teardownTest方法为结束方法,实际运行时每个线程仅执行一次,在测试方法结束后执行,默认置空即可
  • getDefaultParameters方法为设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中
    如下所示:

三、编译、打包

  1. 编写代码完成,就可以进行编译、打包操作了,右键点击项目》Run As》Maven build
  2. 在Goals中输入package,然后点击Apply》Run执行编译,打包操作
  3. 编译打包完成,在target目录会生成一个jar包,如下图所示

四、验证开发的函数是否正常

  1. 首先把Java_Sample_0.1.jar函数放到jmeter的\lib\ext目录
  2. 然后启动Jmeter,线程组》添加》Sample》Java请求
  3. 在类名称中选择封装的Java类,为com.xiet.Java_Sample.Jmeter_Test,该类名称为包名+类名
  4. 本次设置2线程,2循环,点击执行按钮,执行结果如下:

    ***

    完整源码如下:

原文地址:https://blog.51cto.com/6183574/2396772

时间: 2024-08-09 05:00:55

使用Jmeter测试java请求的相关文章

第二篇--Jmeter测试Java请求

前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的ApacheJMeter_core.jar和ApacheJMeter_java.jar复制到lib下,然后导入下图jar包   2.AbstractJavaSamplerClient是Java请求的核心接口,实现接口AbstractJavaSamplerClient,sampleResult的开始和结束方

jmeter的http post请求与测试Java请求

1.jmeter 测试Java请求 1.1 建立测试类,在被测程序中添加测试类 1.2 将测试程序打包,打成不可运行的包 1.3 将打好的包,放在$JMETER_HOME/lib/exts下面,把测试包依赖的jar放在$JMETER_HOME/lib 2.jmeter测试https post http://my.oschina.net/u/147181/blog/164873 2.1 填写好地址及路径,协议修改为https 端口和代理默认即可

jmeter测试java代码

有时候总是要写代码的,不得不说你也得会,这不往下看 java请求了,就的写代码,那么先来实现一个类, package com.company.jemeters; public class Hello { public int sum(int a,int b) { return a+b; } } 实现了一个加法,那么我们去写测试类 这里需要吧jemter 的库添加到lib里面去 package com.company.jemeters; import org.apache.jmeter.confi

jmeter 的java请求代码在main方法里面执行

1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; return sum; } } 2.再建一个jmeter的java请求类 import org.apache.jmeter.config.Arguments; import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

jmeter测试HTTP请求

HTTP超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.(详情参考看一下百科) HTTP发送请求有GET,POST,PUT, OPTION,HEAD,DELETE,TRACE,CONNECT 8种,目前来说最常见的是GET.POST和PUT请求,其他的比较少见. 1.GET:用于不修改数据仅向服务器获取资源(比如我们常见的访问某个网站首页,进入某个页面啊...基本都是用的GET请求方式) 2.POS

JMeter 测试 JAVA 接口

使用JMeter测试JAVA接口,需要编写一个java类,继承AbstractJavaSampleClient,实现具体接口的调用,然后将此工程打包为一个jar包,防止在JMETER_HOME\lib\ext目录下,然后在JMeter里配置调用. 编写Java类,继承AbstractJavaSampleClient 打包 jar 将jar包放置至 JMETER_HOME\lib\ext 目录 JMeter里配置调用 1. 添加依赖 <dependency> <groupId>org

JMeter学习(十七)JMeter测试Java

目的:对Java程序进行测试: 一.核心步骤1.创建一个Java工程:2.将JMeter的lib目录下的jar文件添加进此工程的Build Path:3.创建一个类并实现JavaSamplerClient接口或继承AbstractJavaSamplerClient,并重写: public Arguments getDefaultParameters();设置可用参数及的默认值: public void setupTest(JavaSamplerContext arg0):每个线程测试前执行一次,

【转】JMeter学习(十七)JMeter测试Java

目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter JavaSampler介绍 四.自带javaRequest Sampler 一.核心步骤 1.创建一个Java工程: 2.将JMeter的lib目录下的jar文件添加进此工程的Build Path: 3.创建一个类并实现JavaSamplerClient接口或继承AbstractJavaSamplerClient,并重写: public Arguments getDefaultParameters();设置可用参数及的

【转】JMeter学习(十八)JMeter测试Java(二)

实例: 服务为:将输入的两个参数通过IO存入文件: 1.打开MyEclipse,编写Java代码 服务: package test; import java.io.File; import java.io.PrintWriter; public class OutputService { public static void output(String filename, int a, int b) throws Exception { PrintWriter out = new PrintWr