JMeter学习(十八)JMeter测试Java(二)
实例:
服务为:将输入的两个参数通过IO存入文件;
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; //服务为:将输入的两个参数通过IO存入文件;
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();
} // 测试执行的循环体,根据线程数和循环次数的不同可执行多次
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
params.addArgument("filename","abc.txt");
JavaSamplerContext arg0 = new JavaSamplerContext(params);
PerformenceTest test = new PerformenceTest();
test.setupTest(arg0);
test.runTest(arg0);
test.teardownTest(arg0);
}
*/
}
生成jar包,放在JMeter_HOME/lib/ext目录下。





结果成功,成功生成了5个文件:

3、遇到的问题

JMeter学习(十八)JMeter测试Java(二)的更多相关文章
- (转载)Android项目实战(二十八):Zxing二维码实现及优化
Android项目实战(二十八):Zxing二维码实现及优化 前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...
- jmeter(十八)属性和变量
一.Jmeter中的属性: 1.JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2.JMeter属性在测试脚本的任何地方都是可见的(全局),通常 ...
- Jmeter(四十八)_动态线程分析HTML测试报告
概述 jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源.所以我们常常用命令行去跑性能脚本,得出结果 同时,jmeter在命令行下还可以生成多维度的测试报告,里面包 ...
- Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)
1.简介 JMeter是一款压力.接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,用来监控服务器资源使用情况,不过需要安装一些插件.JMeter正常自 ...
- <转>jmeter(十八)关联之XPath Extractor
本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...
- 【转】使用JMeter 完成常用的压力测试(二)
使用JMeter 完成常用的压力测试 Login.jsp 和welcome.jsp.其中 login.jsp 负责生成 User 对象,并调用 User 的login.当 login 返回为 true ...
- 性能测试之Jmeter学习(八)
本节主要学习:断言 JMeter也有像LR中的检查点,本节就来介绍下JMeter的检查点如何去实现. JMeter里面的检查点通过添加断言来完成. 检查点:上一节讲到,我们对用户名和密码进行了参数化, ...
- jmeter(十八)关联之XPath Extractor
之前的博客,有介绍jmeter如何对请求进行关联的一种常见用法,即:后置处理器中的正则表达式提取器,下面介绍另一种关联方法,XPath Extractor! 所谓关联,从业务角度讲,即:某些操作步骤与 ...
- Jmeter学习一:Jmeter性能测试环境搭建(Windows下)
最近刚开始接触Jmeter性能测试,现总结环境搭建如下: 一.windows安装JDK步骤与环境变量配置: 1.先将下载的JDK安装到其默认目录:C:\Program Files\Java\jdk1. ...
- JMeter学习笔记——认识JMeter(1)
拿到一个自动化测试工具,我们第一步就应该了解它能提供我们哪方面的功能(最直接的方法就是从官网获取),接下来就是简单的对这个工具进行“功能测试”了,当然这里的功能测试不是让你找它存在的bug,而是让自己 ...
随机推荐
- redis 慢日志 slowlog
1 slowlog是什么 redis的slowlog是redis用于记录记录慢查询执行时间的日志系统.由于slowlog只保存在内存中,因此slowlog的效率很高,完全不用担心会影响到redis的性 ...
- [TypeScript] 建置输出单一JavaScript档案(.js)与Declaration档案(.d.ts)
[TypeScript] 建置输出单一JavaScript档案(.js)与Declaration档案(.d.ts) 问题情景 开发人员使用Visual Studio来开发TypeScript,可以很方 ...
- SharePoint 2013 列表多表联合查询
在SharePoint的企业应用中,遇到复杂的逻辑的时候,我们会需要多表查询:SharePoint和Sql数据表一样,也支持多表联合查询,但是不像Sql语句那样简单,需要使用SPQuery的Joins ...
- Spark GraphX学习资料
<Spark GraphX 大规模图计算和图挖掘> http://book.51cto.com/art/201408/450049.htm http://www.csdn.net/arti ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q104-Q106)
Question 104You plan to create a workflow that has the following three activities: CreateTask OnTask ...
- Linux平台Makefile文件的编写基础入门(课堂作业)
根据老师的要求,写一个超简单的makefile准备: 准备三个文件:file1.c, file2.c, file2.h file1.c: #include "file ...
- Caused by: java.lang.UnsupportedOperationException
对Arrays.asList()返回的List进行操作之后报错Caused by: java.lang.UnsupportedOperationException 让我们来看一下Arrays.asLi ...
- 关于https的Error:Error Domain=NSURLErrorDomain Code=-1012
昨天闲着没事就随便搞点demo,随便找了一个https的接口,运行之后,一直发现Error Domain=NSURLErrorDomain Code=-1012.好奇怪,请求https的配置我基本都配 ...
- CSS 指定选择器(十一)
一.指定选择器 有时个会希望控制某个元素在一定范围内的对象样式,这时就可以把元素与Class或者Id选择器结合起来使用 <!DOCTYPE html PUBLIC "-//W3C//D ...
- iOS中发送HTTP请求的方案
在iOS中,常见的发送HTTP请求的方案有 苹果原生(自带) NSURLConnection:用法简单,最古老最经典的一种方案 NSURLSession:功能比NSURLConnection更加强大, ...