jmeter-7-编写java代码生成jar包引用
简介:有时候我们可能需要拓展jmeter里面的功能,比如数据处理后jmeter请求发送。
签名、认证等场景都会使用到。
一、创建 java 项目,编写代码及打包jar
1、new project,选择maven

2、写个简单demo,批量生成UUID
package com.ppl; import java.util.ArrayList; import java.util.List; import java.util.UUID; public class Common { public static String uuid() { // 生成单个 uuid return UUID.randomUUID().toString(); } public static List<String> uuid(int count) { // 生成 uuids 列表 List<String> uuids = new ArrayList<>(); for (int i = 0; i < count; i++) { uuids.add(uuid()); } return uuids; } }
3、pom.xml 有依赖其它包的话则需要加上:
这样子maven打包会将所依赖的jar包打入。
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
4、maven 构建:package
构建后可以看到有两个jar包,一个是打入依赖(xxx-dependencies.jar),一个是没有。


二、Jmeter引用jar包及使用自定义jar类
1、将jar包粘贴至,jmeter 的 lib/ext 目录下即可

2、重启 jmeter 或直接打开新的 jmeter 客户端
3、Jmeter 请求中新增:BeanShell 预处理程序
并写入代码 (貌似 BeanShell 不能够使用泛型否则会报错警告)

这里可能会有疑问,BeanShell 咋写?其实就和 java 一样,比如我在IDEA下编写并测试,如下:
那么 BeanShell 也是一样是这样写。

4、变量存储及引用
- vars:线程内共享
- props:跨线程共享
vars.put("uuidList", uuids); 表示将 uuids 变量存储为线程内共享,并命名为:uuidList


这里只是做个简单的演示,至于数据要处理成什么样是根据当前需求需要来编写的,比如简介中说的加签、安全认证等。
End


浙公网安备 33010602011771号