转:JMeter进行Java 请求测试
- public Arguments getDefaultParameters():设置可用参数及的默认值;
- public void setupTest(JavaSamplerContext arg0):每个线程测试前执行一次,做一些初始化工作;
- public SampleResult runTest(JavaSamplerContext arg0):开始测试,从arg0参数可以获得参数值;
- public void teardownTest(JavaSamplerContext arg0):测试结束时调用;
- 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 PrintWriter(new File(filename));
- out.write(a+":"+b);
- out.close();
- }
- }
- package test;
- 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;
- public class PerformenceTest implements JavaSamplerClient {
- private SampleResult results;
- private String a;
- private String b;
- private String filename;
- // 设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中
- public Arguments getDefaultParameters() {
- Arguments params = new Arguments();
- params.addArgument("filename", "0");//设置参数,并赋予默认值0
- params.addArgument("a", "0");//设置参数,并赋予默认值0
- params.addArgument("b", "0");//设置参数,并赋予默认值0
- return params;
- }
- // 初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行
- public void setupTest(JavaSamplerContext arg0) {
- results = new SampleResult();
- }
- // 测试执行的循环体,根据线程数和循环次数的不同可执行多次
- @Override
- public SampleResult runTest(JavaSamplerContext arg0) {
- b = arg0.getParameter("b"); // 获取在Jmeter中设置的参数值
- a = arg0.getParameter("a"); // 获取在Jmeter中设置的参数值
- filename = arg0.getParameter("filename"); // 获取在Jmeter中设置的参数值
- results.sampleStart();// jmeter 开始统计响应时间标记
- try {
- OutputService test = new OutputService();
- test.output(filename,Integer.parseInt(a), Integer.parseInt(b));
- results.setSuccessful(true);
- // 被测对象调用
- } catch (Throwable e) {
- results.setSuccessful(false);
- e.printStackTrace();
- } finally {
- results.sampleEnd();// jmeter 结束统计响应时间标记
- }
- return results;
- }
- // 结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行
- public void teardownTest(JavaSamplerContext arg0) {
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Arguments params = new Arguments();
- params.addArgument("a", "0");//设置参数,并赋予默认值0
- params.addArgument("b", "0");//设置参数,并赋予默认值0
- JavaSamplerContext arg0 = new JavaSamplerContext(params);
- PerformenceTest test = new PerformenceTest();
- test.setupTest(arg0);
- test.runTest(arg0);
- test.teardownTest(arg0);
- }
- }
Export 为 Runnable Jar File;









转:JMeter进行Java 请求测试的更多相关文章
- 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 进行java request测试
本周使用jmeter进行一个远程dubbo接口的性能测试,因为没有访问页面,本来开发可以写一个页面,进行http请求的调用,不过已经看到jmeter可以直接对java request进行测试,所以尝试 ...
- Jmeter自定义Java请求,继承AbstractJavaSamplerClient
首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR ...
- JMeter扩展Java请求实现WebRTC本地音视频推流压测脚本
WebRTC是Web Real-Time Communication缩写,指网页即时通讯,是一个支持Web浏览器进行实时语音或视频对话的API,实现了基于网页的视频会议,比如声网的Agora Web ...
- Jmeter发送Java请求
1.创建一个Java工程 2.把Jmeter的lib\ext目录下的ApacheJMeter_java.jar.ApacheJMeter_core.jar文件添加进该项目的Build Path 3.创 ...
- Jmeter自定义Java请求开发
一.本次实验目的 IDEA新建maven项目,使用java开发自定义jmeter的请求. 本次开发使用的代码,会百度云分享给大家. 二.本次实验环境 Idea 2017.02 Jmeter 5.1.1 ...
- 利用jmeter发起java请求调用shell脚本
1.创建maven项目 在pom文件中加入依赖: 2.在路径src/main/java下创建类,如类名shellclass 3. 创建jmet ...
随机推荐
- border表格有的自动换行,有的不能自动换行!
解决手机端tab超过设置的宽度换行! <table id="vip-tab"> <tr id="leibie"> <th clas ...
- java 枚举类型和数据二进制等问题思考
.以下代码的输出结果是什么? int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X+ ...
- SQLite学习网址
http://www.runoob.com/sqlite/sqlite-data-types.html
- Linux系统VPS/服务器安装WINDOWS桌面环境可以采用的几个方法
我们公司的几个项目需要在WINDOWS桌面类型的界面操作,哪怕仅有一个浏览器远程操作也是可以的,我们运维部门得到的任务就是需要能在已有的Linux系统的VPS.服务器环境中能够远程操作,至少需要能可以 ...
- oracle索引
1,建立索引 create index goods_num on goods (num) tablespace data; 2,查看表上索引 select * from USER_INDEXES wh ...
- 阻塞与非阻塞、同步与异步 I/O模型
I/O模型 Linux 下的五种I/O模型 阻塞I/O(blocking I/O) 非阻塞I/O (nonblocking I/O) I/O复用(select 和poll) (I/O multiple ...
- 《JS权威指南学习总结--9.3 JS中JAVA式的类继承》
内容要点: 一.JS中的类 1.JAVA或其他类似强类型 面向对象语言的 类成员的模样 实例字段:它们是基于实例的属性或变量,用以保存独立对象的状态. 实例方法: 它们是类的所有实例所共享的方法,由每 ...
- 2、hibernate七步走完成增删改查
一.hibernate框架介绍如下 1.框架=模板 2.Hibernate是对象模型与关系数据库模型之间的桥梁 3.hibernate持久化概念 什么是ORM ORM是对象关系映射,是一种数据持久化操 ...
- Android LayoutInflater解析
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(). 不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实 ...
- CentOS postgresql9.4
yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm Once t ...