转: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 ...
随机推荐
- js便利关联数组 及数组定义方式 分类
"http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv=& ...
- HTML5 <meta> 标签属性
基本标签SEO 优化为移动设备添加 viewportWindows 8其他 禁止数字识自动别为电话号码不让android识别邮箱每 8 秒刷新一次页面移动端的头部标签和meta 基本标签 声明文档使用 ...
- uinavigationcontroller uinavigationbar 下方横线去除
#import "QKBaseNavigationController.h" #define fontSize 19 @interface QKBaseNavigationCont ...
- Openlayer 3 最简单的弹出框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 描述符和property内建函数
首先我们搞清楚__getattr__ ,__get__ 和 __getattribute__ 作用的不同点. __getattr__在授权中会用到. __getattribute__ 当要访问属性时 ...
- java命名
Package 的命名 Package 的名字应该都是由一个小写单词组成. Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用 ...
- Socket 传送文件
1.传送文本文件 1.1服务端 package com; import java.io.BufferedWriter; import java.io.DataInputStream; import j ...
- hbase伪分布
1.编辑 conf/hbase-env.sh来告知HBase java的安装路径.在这个文件里你还可以设置HBase的运行环境,诸如 heapsize和其他 JVM有关的选项, 还有Log文件地址,等 ...
- java泛型操作复习,以及讲解在android中使用的场景
android使用泛型的地方很多,比如集成自BaseAdapter实现封装的Adapter,对常用操作进行封装,但是需要对传进来的数据进行处理,此时就使用到泛型,示例如下: public abstra ...
- node读写json文件(进阶)
该方法可用于修改配置文件,直接上代码 fs.readFile('test1.json','utf8',function (err, data) { if(err) console.log(err); ...