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完整项目下载方法见文章末尾介绍

一、新建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. 输入参数类,该类就是被测试的java方法,主要是实现将参数写入到文件,代码如下:

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

main主方法主要是用来本地调试,用来测试封装的Java方法是否功能正常,如果能实现正常功能,就可以进行编译、打包在Jmeter中进行调用

setupTest方法为初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,默认置空即可

runTest方法为测试方法,该方法用来传入输入的参数,然后调用参数类,进行测试

teardownTest方法为结束方法,实际运行时每个线程仅执行一次,在测试方法结束后执行,默认置空即可


3. 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循环,点击执行按钮,执行结果如下:

完整源码如下

***
   如果文章对你有帮助,欢迎关注本人公众号,公众号与本平台文章同步,方便大家查阅,本人会持续推出与测试有关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制


QQ技术交流群:加群请输入验证信息 博客园
              


微信二维码关注公众号:


关注之后,回复资源下载,即可获取本人共享的各种资源下载地址

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

  1. 第二篇--Jmeter测试Java请求

    前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...

  2. jmeter(二十二)jmeter测试Java请求

    目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Java Request Sampler 一.核心步骤 1.创建一个Java工程: ...

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

    1.jmeter 测试Java请求 1.1 建立测试类,在被测程序中添加测试类 1.2 将测试程序打包,打成不可运行的包 1.3 将打好的包,放在$JMETER_HOME/lib/exts下面,把测试 ...

  4. 转:应用JMeter测试solr请求

    使用JMeter测试solr请求 一.安装JMeter 在官网http://jmeter.apache.org/download_jmeter.cgi下载JMeter 直接解压JMeter安装包 Li ...

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

    1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...

  6. jmeter测试java代码

    有时候总是要写代码的,不得不说你也得会,这不往下看 java请求了,就的写代码,那么先来实现一个类, package com.company.jemeters; public class Hello ...

  7. Jmeter执行Java请求

    Jmeter执行Java请求(QQ交流群:577439379) 一.打开Eclipse,创建一个Java工程 二.拷贝jmeter所依赖的jar包 将jmeter中,\lib\ext目录下的Apach ...

  8. jmeter之java请求

    通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...

  9. jmeter测试HTTP请求

    HTTP超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.(详情参考看一下百科) HTTP发送请求有GE ...

随机推荐

  1. ASP.NET Core - 在ActionFilter中使用依赖注入

    上次ActionFilter引发的一个EF异常,本质上是对Core版本的ActionFilter的知识掌握不够牢固造成的,所以花了点时间仔细阅读了微软的官方文档.发现除了IActionFilter.I ...

  2. Log4j不写入日志文件排错记录

    背景: 之前用 log4j一直设置的输出到控制台.今天由于job任务出现了异常,因为是异步的,没办法在控制台看错误信息了,于是乎决定把日志打印到文件里面.然后就找了篇博客配置了下.但是配置完后,怎么也 ...

  3. hdu1045 炮台的配置 dfs

    只要炮台在同一行或者同一列,就可以互相摧毁,遇到墙则无法对墙后的炮台造成伤害,可以通过dfs搜索n*n的方格,全部搜完算一轮,计算炮台数,并保存其最大值. 其中对于t编号的炮台,位置可以计算出是(t/ ...

  4. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之六(四十二)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  5. xmake v2.3.2 发布, 带来和ninja一样快的构建速度

    这个版本重点重构优化了下内部并行构建机制,实现多个target间源文件的并行编译,以及并行link的支持,同时优化了xmake的一些内部损耗,修复影响编译速度的一些bug. 通过测试对比,目前的整体构 ...

  6. H3C路由器地址池租期时间H3CMSR830-6BHI-WiNet

    H3C路由器地址池租期时间H3CMSR830-6BHI-WiNet 设备H3CMSR830-6BHI-WiNet 先输入dis dhcp server tree pool 查看地址池名称,然后 < ...

  7. Transformers 简介(下)

    作者|huggingface 编译|VK 来源|Github Transformers是TensorFlow 2.0和PyTorch的最新自然语言处理库 Transformers(以前称为pytorc ...

  8. TensorFlow系列专题(七):一文综述RNN循环神经网络

    欢迎大家关注我们的网站和系列教程:http://panchuang.net/ ,学习更多的机器学习.深度学习的知识! 目录: 前言 RNN知识结构 简单循环神经网络 RNN的基本结构 RNN的运算过程 ...

  9. NatApp 外网映射工具

    外网映射工具 在做微信开发或者是对接第三方支付接口时,回调接口可能需要外网访问,这时候开发者在本地测试的时候,需要用到外网测试工具.常用的外网测试工具有natapp.ngrok NatApp简介服务器 ...

  10. ajax的封装——jq简化版

    最近在复习ajax的知识,练习了下ajax的封装,此处做下笔记 废话不多说,直接代码 //发请求 //此处的url为请求地址,type为请求方式,success为请求成功的回调函数 myaxios({ ...