0


Jmeter5.x性能测试之BeanShell引入外部Java文件实战(三)

    使用Jmeter进行BeanShell脚本时,比较适合编写简单逻辑判断;在实际的项目测试中,会夹杂着更多方法逻辑,这个时候我们需要借助第三方开发工具编写好代码,然后在Jmeter内进行调用;如:请求数据加密规则是开发人员自定义,那么需要和开发要工具类引入使用才可以进行后续测试。

引入外部文件方式:

  • 将第三方jar包放到Jmeter目录下的ext/lib下,通过import 关键字直接导入;
  • Jmeter 使用外部java文件类;通过 source 关键字加载源码;

本章节主要讲解第二种方式;

  1. 使用 source加载源码,路径可以是绝对路径和相对路径;
  2. 加载源文件后可以直接使用 类名.方法名(参数)

实战案例:

1、使用idea创建工具类 CommonUtil.java;

import java.util.Random;
import java.util.UUID;

public class CommonUtil {

    /**
     * 获取验证码随机数
     * @param length
     * @return
     */
    public static String getRandomCode(int length) {
        String sources = "0123456789qwertyuiopasdfghjklzxcvbnm";
        Random random = new Random();
        StringBuilder sb = new StringBuilder();
        for (int j = 0; j < length; j++) {
            sb.append(sources.charAt(random.nextInt(9)));
        }
        return sb.toString();
    }

    /**
     * 生成uuid
     *
     * @return
     */
    public static String generateUUID() {
        return UUID.randomUUID().toString().replaceAll("-", "").substring(0, 32);
    }
}

2、Jmeter新建线程组,BeanShell前置,HTTP采样器,察看结果树

线程组:初始设置10个线程数

BeanShell前置:录入调用外部Java文件代码段,并将调用的结果赋值给变量

source("D:/article/CommonUtil.java");// Java 外部文件位置,绝对路径或是相对路径

String randomCode = CommonUtil.getRandomCode(4);//  调用文件内置方法
String uuid = CommonUtil.generateUUID();//  调用文件内置方法

vars.put("id",randomCode); //设置为线程组内变量id
vars.put("title",uuid);    //设置为线程组内变量title
log.info("randomCode====="+randomCode);
log.info("uuid====="+uuid);

HTTP采样器:以“商品详情”接口为案例,id和标题通过获取变量名的值再发起请求;

察看结果树:运行程序后查看结果,可发现启动了10个线程进行请求,查看每个线程的请求参数都是不一样,证明都是从变量获取的值,成功了调用了外部文件的方法;


本文转载自: https://blog.csdn.net/u011673769/article/details/127509607
版权归原作者 ♂老码♂ 所有, 如有侵权,请联系我们删除。

“Jmeter5.x性能测试之BeanShell引入外部Java文件实战(三)”的评论:

还没有评论