jmeter二次开发之java请求
现在很多公司都用的是微服务,每个服务的请求协议有可能不相同,怎样用jmeter二次开发自己的java请求?
下面是具体的开发步骤:
1,把需要的jar包 添加到maven依赖中
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>MyJmeter</groupId>
<artifactId>MyJmeter</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<jmeter.version>3.0</jmeter.version>
</properties>
<dependencies>
<!--jmeter-->
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>${jmeter.version}</version>
</dependency> <dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>${jmeter.version}</version>
</dependency>
</dependencies> <build>
<plugins>
<!--<plugin>-->
<!--<groupId>org.apache.maven.plugins</groupId>-->
<!--<artifactId>maven-jar-plugin</artifactId>-->
<!--<version>2.4</version>-->
<!--<configuration>-->
<!--<archive>-->
<!--<manifest>-->
<!--<addClasspath>true</addClasspath>-->
<!--<classpathPrefix>lib/</classpathPrefix>-->
<!--<mainClass>etms.TestEtms</mainClass>-->
<!--</manifest>-->
<!--</archive>-->
<!--</configuration>-->
<!--</plugin>-->
<!--<plugin>-->
<!--<groupId>org.apache.maven.plugins</groupId>-->
<!--<artifactId>maven-dependency-plugin</artifactId>-->
<!--<executions>-->
<!--<execution>--> <!--<phase>package</phase>-->
<!--<goals>-->
<!--<goal>copy-dependencies</goal>-->
<!--</goals>-->
<!--<configuration>-->
<!--<outputDirectory>-->
<!--${project.build.directory}/lib-->
<!--</outputDirectory>-->
<!--</configuration>-->
<!--</execution>-->
<!--</executions>-->
<!--</plugin>--> </plugins>
</build> </project>
2,然后编写具体的Java请求方法,代码如下
package com.niu.MyJmeter; import javafx.scene.shape.ArcTo;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.xmlbeans.impl.xb.xsdschema.impl.PublicImpl; /**
* Created by Administrator on 2017/8/30 0030.
*/
public class JmeterTest implements JavaSamplerClient {
private String interfaceName;
private String methodName; @Override
public void setupTest(JavaSamplerContext javaSamplerContext) {
//某种连接只连接一次,例如数据库
System.out.print("测试开始"); } @Override
public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
SampleResult result = new SampleResult();
//获取页面上interfaceName的方法
interfaceName = javaSamplerContext.getParameter("interfaceName");
//获取页面上methodName的方法
methodName = javaSamplerContext.getParameter("methodName");
//测试开始的时间戳
result.sampleStart();
//设置响应数据的格式
result.setResponseData(interfaceName+":"+methodName,"UTF-8");
//测试结束的时间戳
result.sampleEnd();
//设置成功的
result.setSuccessful(true);
//设置响应code码
result.setResponseCodeOK();
//设置数据编码格式
result.setDataEncoding("UTF-8");
return result;
} @Override
public void teardownTest(JavaSamplerContext javaSamplerContext) {
System.out.print("测试结束");
} @Override
public Arguments getDefaultParameters() {
//添加参数
Arguments arguments = new Arguments();
arguments.addArgument("interfaceName","");
arguments.addArgument("methodName","");
return arguments;
} public static void main(String[] args){
JmeterTest jmeterTest = new JmeterTest();
JavaSamplerContext arg0 = new JavaSamplerContext(jmeterTest.getDefaultParameters());
jmeterTest.runTest(arg0);
jmeterTest.teardownTest(arg0);
}
}
3,IDEA打包放进jmeter里面
然后用IDEA中的clean 先清除包,再install打成jar包,放到jmeter中的javasample中,本次代码中的参数是interfaceName, methodName ,然后面填入值,就可以用查看结果树来查看响应结果。


原文地址https://blog.csdn.net/qq_30353203/article/details/77713754
jmeter二次开发之java请求的更多相关文章
- Jmeter常用脚本开发之Java请求
Java请求:就是用来对java项目的类进行压测 例子:将输入的两个参数通过IO存入文件 1.创建Java工程,工程目录如下 2.将Jmeter-lib下面的所有jar包导入java工程, 3.创建一 ...
- Jmeter二次开发——基于Java请求
简述 这近几年,越来越多非http的协议需要进行性能测试,包括不仅限于各类rpc.mq.缓存等.对于这些协议,市面上可能没有现成的工具可以直接使用,这个时候,我们可以自己动手,通过编写相应的JavaS ...
- Jmeter常用脚本开发之JDBC请求
简单说明:JDBC请求就是使用Jmeter连接数据库,执行sql语句,并返回对应的响应结果 步骤: 1.引入使用的数据库的驱动jar包,使用不同的数据库,我们需要引入不同的jar包.本文使用的MySQ ...
- Jmeter常用脚本开发之FTP请求
1.没有FTP站点的,可以自己搭建一个FTP站点供测试使用,搭建步骤: l 安装IIS组件,控制面板—>程序和功能—>启用或关闭windows功能,勾选FTP服务器.IIS管理控制台,点 ...
- Android开发之Java集合类性能分析
对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List.Set和 Map这三大类的集合,今天Android吧(ard8. ...
- Jmeter性能测试之如何写Java请求测试用例类
一. 引言: 最近工作中的一个项目要求做性能测试,该项目由提供服务的几个应用组成,选用的框架是阿里巴巴公司开源的服务框架Dubbo.关于Dubbo的介绍,网上也有很多资料,本人只是做了粗略的了解,没有 ...
- Android开发之Java必备基础
Android开发之Java必备基础 Java类型系统 Java语言基础数据类型有两种:对象和基本类型(Primitives).Java通过强制使用静态类型来确保类型安全,要求每个变量在使用之前必须先 ...
- 性能测试Jmeter压测ZooKeeper-自定义java请求
要想通过自定义java请求来压测ZooKeeper,那么我们就需要做两件事情,第一我们需要知道java如何操作ZooKeeper,第二就是怎么能将我们写的jar包让jmeter识别,首先我们先来干第 ...
- Android开发之java代码工具类。判断当前网络是否连接并请求下载图片
package cc.jiusan.www.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; ...
随机推荐
- crontab命令详解
一. Crontab 介绍 1.crontab命令的功能是在一定的时间间隔调度一些命令的执行,我理解为windows下的任务计划. 2./etc/crontab 文件 在/etc目录下有一个cront ...
- Java中Access restriction:····的解决方法
http://blog.csdn.net/bit2012_2015/article/details/22798779 ————————————————————————————————————————— ...
- Xilinx 学习笔记1---新建工程和创建源代码文件
最近终于有空可以记录一些之前学习的内容,本博客系列记录笔者Xilinx ISE学习之旅,当然现在Vivado是学习热门,一步一步来.搞定 ISE,Vivado上手也会很快. 1.安装软件 软件部分的下 ...
- Gin框架初识
一.安装 使用go下载gin库,命令行输入:go get github.com/gin-gonic/gin ,一般使用需要的依赖: import "github.com/gin-gonic/ ...
- Adding ASP.NET MVC5 Identity Authentication to an existing project
Configuring Identity to your existing project is not hard thing. You must install some NuGet package ...
- [python] python3.6 安装 pytesseract 出错
安装pytesseact出错, 下载 tesseract-ocr , 地址 https://github.com/tesseract-ocr/tesseract 修改pytesseract.py 设置 ...
- Fiddler 会话过滤功能
我们访问任何网址都会被 Fiddler 捕获,但有时我们只想捕获某个地址,可以使用 Fiddler 的会话过滤,如下我们只过滤出百度的域名 如下,切换到 Filters --- 把 Use Filte ...
- JS 浅谈函数柯里化,不明觉厉
在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术由 Christopher ...
- Android Adb命令查看包名信息
Android O 8.1.0 data/system/packages.listdata/system/packages.xmldata/system/package-usage.listdata/ ...
- phpcms 自定义方法
路径:\install_package\phpcms\libs\functions\extention.func.php <?php //输入栏目ID获取父级栏目名称 function catp ...