首页 > 作文

jmeter添加自定义扩展函数之图片base64编码示例详解

更新时间:2023-04-04 20:00:43 阅读: 评论:0

打开eclip,新建maven工程,在pom中引入jmeter核心jar包:

<!-- https://mvnrepository.com/artifact/org.apache.jmeter/apachejmeter_core --><dependency>    <groupid>org.apache.jmeter</groupid>    <artifactid>apachejmeter_core</artifactid>    <version>3.2</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.jmeter/apachejmeter_functions --><dependency>    <groupid>org.apache.jmeter</groupid>    <artifactid>apachejmeter_functions</artifactid>    <version>3.2</version></dependency>

1. 新建一个包com.mytest.functions,包名要包含functions,因为jmeter.properties对这块有配置,可见该文件的classfinder.functions.contain=.functions.

2. 在该包下新建一个类并继承abstractfunction,重写该文化多样性类的所有方法,具体如下:

package com.mytest.functions;import java.io.fileinputstream;import java.io.inputstream;import java.util.collection;import java.util.linkedlist;import java.util.list;import org.apache.jmeter.engine.util.compoundvariable;import org.apache.jmeter.functions.abstractfunction;import org.apache.jmeter.functions.invalidvariableexception;import org.apache.jmeter.samplers.sampleresult;import org.apache.jmeter.samplers.sampler;import org.apache.jmeter.threads.jmetervariables;import sun.misc.ba64encoder;public class myba64 extends abstractfunction{    //自定义function的描述    private static final list<string> desc = new linkedlist<string>();    static {        desc.add("图片路径");    }        desc.add("图片ba64后存放变量");    private static final string key = "__myba64";       //存放传入参数的值的变量    private object[] values;        //描述参数    public list<string> getargumentdesc() {        // todo auto-generated method stub        return desc;    @override    //函数的面料采购执行    public synchronized string execute(sampleresult arg0, sampler arg1) throws invalidvariableexception {        jmetervariables localjmetervariables = getvariables();        string str1 = ((compoundvariable)this.values[0]).execute();        string str2 = getimgba64(str1);        if ((localjmetervariables != null) && (this.values.length > 1)) {          string str3 = ((compoundvariable)this.values[1]).execute().trim();          localjmetervariables.put(str3, str2);        }        return str2;    public string getreferencekey() {        //提供jmeter函数助手显示的名称        return key;    public synchronized void tparameters(collection<compoundvariable> arg0) throws invalidvariableexception {        //检查参数的个数,支持的方法有2个,具体用法参加api:      小学教师节黑板报  /**         * protected void checkparametercount(collection<compoundvariable> parameters,                                   int count)                            throws invalidvariableexception公司食堂管理制度            utility method to check parameter counts.            parameters:            parameters - collection of parameters            count - number of parameters expected         * */word打开是乱码        //-----------------         *                                    int min,                                   int max)            min - minimum number of parameters allowed            max - maximum number of parameters allowed        //checkparametercount(arg0, 1);        checkparametercount(arg0, 1, 2);        //将参数值存入变量中        this.values = arg0.toarray();    public string getimgba64(string filepath) {        inputstream in = null;        byte[] data = null;        string result = null;        try {            in = new fileinputstream(filepath);            data = new byte[in.available()];            in.read(data);            in.clo();            ba64encoder encoder = new ba64encoder();            result = encoder.encode(data);        } catch (exception e) {            // todo auto-generated catch block            e.printstacktrace();                            return result;}

3. 由于我写的类没有依赖第三方jar包,引入的jmeter核心包都是jmeter自带的,所以直接导出上面的类为一个jar包,并把这个jar放在jmeter安装目录的apache-jmeter-3.2\lib\ext下面

4. 重启jmeter,打开函数助手,可看见如下图:

5. 下面我们测试一下这个函数是否能使用,新建一个http请求,在post请求里分别添加${__myba64(d:\\aa.jpg,imgresult)}和${imgresult}如下图,注意${__myba64(d:\\aa.jpg,imgresult)}一定要在上面

6. 运行后可以看到已经成功

到此这篇关于jmeter添加自定义扩展函数之图片ba64编码示例详解的文章就介绍到这了,更多相关jmeter图片ba64编码内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 20:00:38,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/6b1869190c4c34b64ba7a985d865e9b4.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:jmeter添加自定义扩展函数之图片base64编码示例详解.doc

本文 PDF 下载地址:jmeter添加自定义扩展函数之图片base64编码示例详解.pdf

标签:函数   参数   变量   新建一个
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图
  • 我要关灯
    我要开灯
  • 返回顶部