Jmeter发送Java请求
1、创建一个Java工程


2、把Jmeter的lib\ext目录下的ApacheJMeter_java.jar、ApacheJMeter_core.jar文件添加进该项目的Build Path



3、创建一个test包


4、创建一个Hello类


5、Hello类代码如下:
package test;
public class Hello {
public String sayHello()
{
return "Hello";
}
public int sum(int a,int b)
{
return a+b;
}
}
6、添加类Perftest,并继承AbstractJavaSamplerClient,并添加代码如下:
package test;
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 test.Hello;
public class Perftest extends AbstractJavaSamplerClient {
    private String a;
    private String b;
private String resultData;
// 这个方法是用来自定义java方法入参的。
    // params.addArgument("num1","");表示入参名字叫num1,默认值为空。
    // 设置可用参数及的默认值;
    public Arguments getDefaultParameters() {
        Arguments params = new Arguments();
        params.addArgument("num1", "");//未设默认值
        params.addArgument("num2", "");
        return params;
    }
// 每个线程测试前执行一次,做一些初始化工作;
    public void setupTest(JavaSamplerContext arg0) {
    }
// 开始测试,从arg0参数可以获得参数值;
    public SampleResult runTest(JavaSamplerContext arg0) {
            a = arg0.getParameter("num1");
            b = arg0.getParameter("num2");
            SampleResult sr = new SampleResult();
            sr.setSampleLabel("Java求两个数和");
try {
                sr.sampleStart();// jmeter 开始统计响应时间标记
                Hello test = new Hello();
                // 通过下面的操作就可以将被测方法的响应输出到Jmeter的察看结果树中的响应数据里面了。
                resultData = String.valueOf(test.sum(Integer.parseInt(a), Integer
                        .parseInt(b)));
                if (resultData != null && resultData.length() > 0) {
                    sr.setResponseData("两个数相加结果是:"+resultData, null);
                    sr.setDataType(SampleResult.TEXT);
                }
                System.out.println(resultData);
                sr.setSuccessful(true);
            } catch (Throwable e) {
                sr.setSuccessful(false);
                e.printStackTrace();
            } finally {
                sr.sampleEnd();// jmeter 结束统计响应时间标记
            }
            return sr;
        }
// 测试结束时调用;
    public void teardownTest(JavaSamplerContext arg0) {
         //System.out.println(end);
        // System.out.println("The cost is"+(end-start)/1000);
    }
}
7、使用eclipse打成jar包,选中包名test-->Export-->选择JAR file,然后选择输入路径完成就OK了



8、将此jar包放入Jmeter的\lib\ext目录下

9、打开Jmeter创建线程组、Java Request、查看结果树(如果Jmeter已经打开,需要重新打开)
输入测试的值

10、执行结果

Jmeter发送Java请求的更多相关文章
- JMeter 中实现发送Java请求
		
JMeter 中实现发送Java请求 1. 步骤1 新建JAVA项目 File -> New -> Java Project 如上图,填写Project Name,然后Next,打开以J ...
 - jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中
		
有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求 ...
 - Jmeter发送JDBC请求
		
下午花了两个小时研究了一下Jmeter发送JDBC请求,现在把基本操作流程分享一下. 做JDBC请求,首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bi ...
 - Jmeter发送Json请求
		
jmeter发送的post请求,可以是json请求,和普通的post请求稍微有点区别,那么怎么用jmeter发送json请求呢? 首先要找一个json请求的例子,这个例子是携程网搜索机票, 网址为:h ...
 - jmeter 的java请求代码在main方法里面执行
		
1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...
 - Jmeter执行Java请求
		
Jmeter执行Java请求(QQ交流群:577439379) 一.打开Eclipse,创建一个Java工程 二.拷贝jmeter所依赖的jar包 将jmeter中,\lib\ext目录下的Apach ...
 - jmeter之java请求
		
通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...
 - 使用jmeter发送put请求的三种方式
		
之前在前公司使用jmeter调试接口时,由于都是get和post请求,所以一直是顺风顺水的,毫无阻拦在短时间内调试完所有接口. 但是呢,在换到新公司后,发现接口请求是多式多样的,get.post必须有 ...
 - 使用fiddler抓取jmeter发送的请求
		
使用jmeter发送请求时,有时需要查看发送的请求是否合理,可以使用fiddler更直观的抓取并查看jmeter发送的请求.步骤如下:1.设置fidder-connections 端口号为8888 2 ...
 
随机推荐
- python中文编码问题
			
第一步:在代码中输入以下命令,执行: #在Python中显示中文注释和输出中文a ="中文"print a 返回错误: d:\Python27\python.exe "D ...
 - JSPatch 技术要点
			
作者:干掉crash链接:https://zhuanlan.zhihu.com/p/21884786来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 如果有方法不遵守语言 ...
 - CSS之列表标签
			
1 无序列表 无序列表,用来表示一个列表的语义,并且每个项目和每个项目之间,是不分先后的. ul就是英语unordered list,"无序列表"的意思. li 就是英语list ...
 - SNMP协议以及著名的MIB详解
			
SNMP协议介绍 简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering Task ...
 - Salesforce ADM201备考心得
			
Salesforce拥有很多针对不同角色的认证考试.ADM201是面对初级管理员的认证. 考试形式是单选题和多选题(如果是多选题,题干上会提示你要多选),两个小时时间,60道题目.内容涉及管理Sale ...
 - MySQL的if,case语句使用总结
			
原文地址: http://outofmemory.cn/code-snippet/1149/MySQL-if-case-statement-usage-summary
 - Comet技术
			
1.Comet是什么? 维基百科: Comet是一种用于web的推送技术,能使服务器实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询和iframe流. 说白了就是web ...
 - php、前端开发(网站建设)环境搭建
			
php集成开发环境wampserver,是一款免费开源的软件,下载地址http://www.wampserver.com,由于是国外的网站,打开速度慢,根据自己的电脑选择32位/64位的系统下载.
 - 学习CodeIgniter框架之旅(二)继承自定义类
			
在很多情况下,框架类并不能满足项目的需求,这时候需要程序要自定义一些类,比如说基类等等,对比了TP框架,CI框架目前好像还没加入命名空间,这点TP做得比较好,不用特殊的处理就可以随便继承自定义的类,只 ...
 - kali安装vmtools问题
			
切记使用此法,一定要确保kali没有装过vmware workstation自带的vmware_tools,不然要卸载之后才能使用.我当初就是安装了后使用此法,不能成功,卸载也不行,导致完全重装 安装 ...