Jmeter外部函数引用

1、Beanshell引用Jmeter变量

添加用户自定义变量,输入变量名称和变量值,添加Debug sampler,用于输出初始变量值。

添加Beanshell sampler,修改username变量值,添加Debug sampler用户输出修改后username变量值。Beanshell 内容如下:

vars.put("username","AutoLoadTest");

var a = vars.get("username");

log.info(a);

return a;

运行察看结果树,username变量值被修改。

2、Java请求调用外部jar

步骤:

1)创建java工程;

2)将{Jmeter_home}/lib/ext下的jar包导入Build path;

3)创建一个Test类并继承AbstractJavaSamplerClient接口;

4)Test调用实际被测方法Add;

5)Export为JAR file,并将jar包放入{Jmeter_home}/lib/ext

6)打开Jmeter创建线程组,新建java请求,引用jar包中的类。

被测方法Add代码如下:

package com.test.jmeter;

public class Add {

public int sum(int a,int b)

{

return a+b;

}

}

Test类方法如下:

package com.test.jmeter;

import org.apache.jmeter.config.Arguments;

import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;

import org.apache.jmeter.samplers.SampleResult;

import com.test.jmeter.Add;

public class Test extends AbstractJavaSamplerClient {

private String a;

private String b;

private String resultData;

// 自定义jmeter输入参数,设置默认值。

public Arguments getDefaultParameters() {

Arguments params = new Arguments();

params.addArgument("num1", "");

params.addArgument("num2", "");

return params;

}

//每个线程测试前执行一次,做一些初始化工作;

public void setupTest(JavaSamplerContext arg0) {

}

//开始测试,从arg0参数可以获得参数值;

public SampleResult runTest(JavaSamplerContext arg0) {

a = arg0.getParameter("num1");

b = arg0.getParameter("num2");

SampleResult sr = new SampleResult();

sr.setSampleLabel( "Java请求名称");

try {

// jmeter 开始统计响应时间标记

sr.sampleStart();

Add test = new Add();

// 调用sum方法,保存结果。

resultData = String.valueOf(test.sum(Integer.parseInt(a), Integer

.parseInt(b)));

//将结果显示在jmeter察看结果树响应数据中。

if (resultData != null && resultData.length() > 0) {

sr.setResponseData("结果是:"+resultData, null);

sr.setDataType(SampleResult.TEXT);

}

sr.setSuccessful(true);

} catch (Throwable e) {

sr.setSuccessful(false);

e.printStackTrace();

} finally {

// jmeter 结束统计响应时间标记

sr.sampleEnd();

}

return sr;

}

//测试结束时调用;

public void teardownTest(JavaSamplerContext arg0) {

}

}

Jmeter中调用Test类如下:

运行结果:

3、Beanshell调用java文件

在D盘目录下创建.java文件,代码内容如下:

package com.test.jmeter;

public class Add {

public int sum(int a,int b)

{

return a+b;

}

}

Jmeter中新建Beanshell sampler,内容如下:

source("D:\\Add.java");用于引用外部java文件。

运行结果:

4、Beanshell调用jar

步骤:

1)创建java工程;

2)创建一个idNum类用于随机生成身份证号;

3)Export为JAR file,并将jar包放入{Jmeter_home}/lib/ext

4)打开Jmeter创建线程组,新建Beanshell sampler请求,import引用jar包中的类。

运行结果:

Jmeter外部函数引用的更多相关文章

  1. JMeter常用函数整理

    "_csvRead"函数 csvRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数. 下面具体讲一下如何使用csvread函数: 1.新建一个csv或者t ...

  2. 用static声明外部变量与内、外部函数

    1.用static声明外部变量 若希望某些外部变量只限于被本文件引用,而不能被其他文件引用,可以在定义外部变量时加一个static声明. 例:(file1.c) #include <stdafx ...

  3. JNI的又一替代者—使用JNR访问Java外部函数接口(jnr-ffi)

    1. JNR简单介绍 继上文“JNI的替代者—使用JNA访问Java外部函数接口”,我们知道JNI越来越不受欢迎,JNI是编写Java本地方法以及将Java虚拟机嵌入本地应用程序的标准编程接口.它管理 ...

  4. C语言学习笔记:14_内部函数和外部函数

    /* * 14_内部函数和外部函数.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...

  5. (C语言逻辑运算符!)&&两种定义字符串的方法&&局部变量、全局变量&&内部函数、外部函数。(新手基础知识备忘录)

    (一)      四个逻辑运算符:!(逻辑非) ||(或) &&(与) ^ (异或) 位运算:&(与) |(位或) (二)        如何定义字符串: 1,字符串常量   ...

  6. Jmeter 常用函数(1)- 详解 __Random

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 产生一个随机数 语法格式 ${__Ra ...

  7. Jmeter 常用函数(2)- 详解 __RandomDate

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 产生一个随机日期 语法格式 ${__R ...

  8. Jmeter 常用函数(3)- 详解 __RandomString

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 根据指定的字符产生一个随机字符串 语法 ...

  9. Jmeter 常用函数(5)- 详解 __property

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 读取 Jmeter 属性 语法格式 $ ...

随机推荐

  1. Python 利用pytesser模块识别图像文字

    使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the ...

  2. centos启用ftp功能

    1.安装vsftpd组件,安装完后,有/etc/vsftpd/vsftpd.conf 文件,用来配置,还有新建了一个ftp用户和ftp的组,指向home目录为/var/ftp,默认是nologin(不 ...

  3. Flash Builder如何自定义工作目录

    熟悉了myeclipse可以自定义目录的设置,今天在使用flash builder 时,当导入一个工程到现有项目空间 选择根目录,点击浏览的时候出现的目录是C:\Users\Administrator ...

  4. 如何清除某条SQL的执行计划

    如果遇到绑定窥探导致执行计划慢的情况,想要清除某条SQL的执行计划,让它硬解析,找了很久都没有找到直接操作share pool的方法(除非alter system flush shared_pool) ...

  5. Bootstrap 3 管理模板

    下面这 10 个模板是从最新的 Bootstrap 3 管理模板人工挑选出来的,用来构建网站的后台管理界面,这些模板都是在最近 2 个月内发布. 1. Curo – Admin Template Cu ...

  6. Windows性能查看器:系统的性能信息(I/O,IIS最大连接数,Sql) ,以及解决 asp.net IIS 一二百多用户并发

    在测试过程中,我们经常需要知道“系统的资源利用情况”来监测我们的测试执行情况,来查看测试环境是否有效,测试结果是否可信,或者是在无人值守时保存结果,等我们值班时再来分析. 1.在Windows环境下, ...

  7. Angular(2)

    1.自定义指令,直接栗子: note:定义指定是驼峰,2部分 前缀+作用,but  调用 改驼峰首字母大写处为 (-首字母小写) <!DOCTYPE html><html lang= ...

  8. 112、两个Activity切换黑屏问题

    <activity android:name=".main.select.ActDoyenActivity" android:screenOrientation=" ...

  9. Unity3D学习笔记

    双击或F-居中显示对象 Alt-旋转场景 Align With View-正视主镜头 添加质量 使成为预制物体, 即flash中元件, 预制物体在Hierarchy中名字成蓝色, Assets是的对象 ...

  10. AndroidManifest.xml

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...