转: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 ...
随机推荐
- 我的学习记录JAVA第二天
- maven 项目 pom.xml文件中配置的jar包下载报错
[ERROR] [ERROR] Some problems were encountered while processing the POMs:[ERROR] 'dependencies.depen ...
- Thrift框架简介
功能:实现各个服务模块之间的跨语言.跨平台的通信,是RPC框架的一种,与dubbo类似. Thrift的应用原理: Thrift的部分功能相当于代码生成引擎,使用Thrift定义的语言编写*.Thri ...
- ORACEL12c求和SUM(a+b)与SUM(a)+SUM(b)结果不一致问题
今天在oracle12c数据库遇到的问题,下面重现一下: 1.先创建一个临时表 temp.一个数据表bitest_sum; -- Create table create table PEC.BITES ...
- hdu1025
#include<stdio.h>const int MAXN=500010;int a[MAXN],b[MAXN]; //用二分查找的方法找到一个位置,使得num>b[i-1] 并 ...
- MYSQL导入中文数据乱码的四种解决办法
方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 my ...
- NodeJS学习指南
七天学会NodeJS NodeJS基础 什么是NodeJS 有啥用处 如何安装 安装程序 编译安装 如何运行 权限问题 模块 require exports module 模块初始化 主模块 完整示例 ...
- 理解Nodejs中的事件轮询机制
我在看<了不起的Nodejs>一书,阻塞与非阻塞IO那一章我来回看了N遍,然后...还是没太看懂..于是我找到了这篇日志,写的是真的有点好啊..潸然泪下.. 原文:http://www.r ...
- oracle 11g dblink配置
关于DBLINK的概念在本文中不再赘述,本文主要介绍DBLINK的创建. 1.创建环境描述 本文将在两台操作系统为红帽5.5版本.装有Oracle 11g的虚拟机中进行DBLINK的创建以及测试工作. ...
- Binary Trees
1. Definiation What is Binary Trees? Collection of node (n>=0) and in which no node can have more ...