转: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 ...
随机推荐
- 注册表对比工具(Regshot) V2.0.1 中文绿色版
软件名称: 注册表对比工具(Regshot)软件语言: 简体中文授权方式: 免费软件运行环境: Win7 / Vista / WinXP软件大小: 263KB图片预览: 软件简介:Regshot 是一 ...
- EFI Shell 命令说明
EFI Shell 命令说明 引导命令 — EFI Shell 与 nPartition 引导有关的命令. autoboot 设置(查看)自动引导超时变量. bcfg 显示(或修改)驱 ...
- cmake+qt+qtcreator的配置,解决Q_OBJECT的问题
1.如果在编译qt项目的时候,一般头文件里都有Q_OBJECT,但是用cmake来编译的时候,就会报错,那么怎么解决呢? 解决的办法就是要在cmake里面写好配置 命令,再编译的时候,就不会报错了,写 ...
- 一.Maven的安装和配置整理
Maven的安装和配置 1.1安装 进入Maven官网的下载页面:http://maven.apache.org/download.cgi选择当前最新版本:" ...
- typeof使用笔记
typeof操作符返回一个字符串,表示未经计算的操作数的类型 以下是可能值的列表 类型 结果 Undefined "undefined" Null "nu ...
- Swift2.3适配Swift3.0时出现的各种问题
昨晚上一波手贱把我的小5s升到iOS10.如此配套的话,Xcode7.3升级Xcode8.1看来也是势在必行了.公司程序是Swift2.3的,出于对苹果的恐惧迟迟不敢升级.但丑媳妇儿总要见公婆,借这个 ...
- ftp服务器端的安装及配置
搭建过程 安装 vsftp 服务(yum 安装即可) 配置/etc/vsftpd/vsftpd.conf anonymous_enable=NO #禁止匿名登录 local_enable=YES ...
- Web多客户端单点登录
一 数据库 除了用户表之外,新建一个外联表<用户票据表> fdUsTiUserID,fdUsTiType,fdUsTiTicket 分别对应用户ID,客户端类型(PC,mobile) 票 ...
- (转载)#include机制,#ifndef...#define...#endif防止重复引用,声明,定义等概念
一.来自百度知道的问题:全局变量可以声明定义在头文件中? 答案: 注意头文件中不可以放变量的定义!!!一般情况下头文件中只放变量的声明,因为头文件要被其他文件包含(即#include).如果把定义放到 ...
- bower工具的简单使用
基于NodeJS的一个静态资源管理工具,由twitter公司开发维,解决大型网站中静态资源的依赖问题. 1.依赖NodeJS环境和git工具. 2.npm install -g bower安装bowe ...