Jmeter二次开发代码(1)
package org.apache.jmeter.functions;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.util.JMeterUtils;
public class MyExcel extends AbstractFunction {
private static final List<String> desc = new LinkedList<>();
	private static final String KEY = "__MyExcel"; // Function name //$NON-NLS-1$
	private Object[] values;
//初始化
	 public MyExcel() {
	    }
static {
	        desc.add(JMeterUtils.getResString("EXCEL文件路径")); //文字说明
	        desc.add(JMeterUtils.getResString("所要读取EXCEL文件的SHEET页")); //文字说明
	        desc.add(JMeterUtils.getResString("读取的起始行")); //文字说明
	        desc.add(JMeterUtils.getResString("读取的起始列")); //文字说明
	    }
@Override
	public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException {
String myExcelValue = "";
		// 定义Jmeter传参
		String excelFilePath = (((CompoundVariable) values[0]).execute()).toString();
		String sheetName = (((CompoundVariable) values[1]).execute()).toString();
		int rowNum = new Integer(((CompoundVariable) values[2]).execute().trim());
		int columnNum = new Integer(((CompoundVariable) values[3]).execute().trim());
myExcelValue = MyExcelRead.getColumn(excelFilePath, sheetName, rowNum, columnNum);
return myExcelValue;
	}
@Override
	public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException {
		//检查参数个数
		checkParameterCount(parameters, 4);
		values = parameters.toArray();
MyExcelRead.clearAll();
	}
/** {@inheritDoc} */
    @Override
    public String getReferenceKey() {
        return KEY;
    }
/** {@inheritDoc} */
    @Override
    public List<String> getArgumentDesc() {
        return desc;
    }
}
Jmeter二次开发代码(1)的更多相关文章
- Jmeter二次开发代码(3)
		package org.apache.jmeter.functions; import java.io.FileInputStream;import java.io.FileNotFoundExcep ... 
- Jmeter二次开发代码(2)
		/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ... 
- JMeter二次开发(2)-编写 JSON Assertion 插件
		本篇文章主要介绍如何对JMeter进行二次开发,添加自己所需的功能.这里以Json验证为例进行说明.在web接口测试过程中,JSON的应用已经非常普遍,但原声的JMeter并没有提供Json及Json ... 
- Jmeter二次开发——自定义函数
		在之前的博文中,Jmeter二次开发--基于Java请求,已介绍了Jmeter二次开发的基础情况,上次分享的是java请求开发,今天来分享下Jmeter中的函数开发.聊到Jmeter的函数,知道Jme ... 
- JMeter二次开发(1)-eclipse环境配置及源码编译
		1.下载src并解压 http://jmeter.apache.org/download_jmeter.cgi 2.获取所需jar包,编译 ant download_jars ant instal ... 
- jmeter 二次开发
		基于jmeter的java请求的二次开发 常用的方法: ①.addArgument("name", "value") 定义参数 ②.sampleStart ... 
- Jmeter二次开发——基于Java请求
		简述 这近几年,越来越多非http的协议需要进行性能测试,包括不仅限于各类rpc.mq.缓存等.对于这些协议,市面上可能没有现成的工具可以直接使用,这个时候,我们可以自己动手,通过编写相应的JavaS ... 
- kettle工具二次开发-代码启动JOB
		kettle工具是一款优秀的数据同步.数据处理的BI工具,收到了很多人的青睐.kettle软件通过可视化的图标可以让我们很轻易的能完成数据同步.处理的开发工作.但是使用kettle可视化界面在跑JOB ... 
- 性能测试基础---jmeter二次开发
		·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ... 
随机推荐
- tomcat 大并发报错 Maximum number of threads (200) created for connector with address null and port 80
			1.INFO: Maximum number of threads (200) created for connector with address null and port 80 说明:最大线程数 ... 
- Java 内存模型 JMM 浅析
			JMM简介 Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性.是否可以重排序等问题的无关具体平台的统一的保证.(可能在术语上与Java ... 
- Docker 安装rabbitMQ
			Docker 安装rabbitMQ docker pull rabbitmq:3.7.7-management 使用:docker images 查看所有镜像 4.根据下载的镜像创建和启动容器 doc ... 
- 预防sql注入
			前言: 这两天做项目的时候发现很多小地方没有注意js或者sql注入,平时登录都是md5加密,今天突然发现记录一下. 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字 ... 
- 在ubuntu16.04中初次体验.net core 2.0
			.net core运行在Linux中的例子.文章已经很多了,看了一些之后也想体验一下,顺便记录一下…… 环境:win10 1709.它内置的Linux子系统(这里安装的是Ubuntu 16.04) 一 ... 
- 【面向对象设计原则】之开闭原则(OCP)
			开闭原则是面向对象设计的一个重要原则,其定义如下: 开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭.即软件实体应尽量在不修改原有代码的情况下进 ... 
- Xamarin 学习笔记 - 配置环境(Windows & iOS)
			本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1223980/Xamarin-Notes-Set-up-the-environment ... 
- matlab练习程序(神经网络识别mnist手写数据集)
			记得上次练习了神经网络分类,不过当时应该有些地方写的还是不对. 这次用神经网络识别mnist手写数据集,主要参考了深度学习工具包的一些代码. mnist数据集训练数据一共有28*28*60000个像素 ... 
- [翻译]:MySQL Error: Too many connections
			翻译:MySQL Error: Too many connections 前言: 本文是对Muhammad Irfan的这篇博客MySQL Error: Too many connections的 ... 
- 委托学习总结(一)浅谈对C#委托理解
			初入社会,对于我这个初级程序员来说要学的东西实在太多了,公司最近在做一个winform框架开发的桌面应用程序,众所周知,winform也好,webform也好,里面随处可见的事件驱动,有事件,当然也少 ... 
