Jmeter 的 jar 包开发环境搭建(配置maven环境)(jmeter调用java请求)

配置maven环境:
1、下载地址:https://maven.apache.org/download.cgi
windows环境下载下面这个:

解压下载完的文件

2、编辑系统变量
win+r键,输入sysdm.cpl回车,打开环境变量设置页面,
1)新建一个:MAVEN_HOME
值输入:D:\apache-maven-3.9.6
2)编辑path变量,在path值的最后输入:%MAVEN_HOME%\bin
3、验证是否成功:在命令提示符中输入命令 mvn -version

4、配置本地仓库
在mvn的conf/setting.xml文件中配置本地仓库的路径

<localRepository>D:\maven\repository</localRepository>

在D:\maven\repository 配置文件,配置加速
nexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public/
1、在pom.xml中添加JMeter包
<dependencies>
<dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_core</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_java</artifactId> <version>3.1</version> </dependency></dependencies>2、继承AbstractJavaSamplerClient类,重写的方法
public class First extends AbstractJavaSamplerClient {
public SampleResult runTest(JavaSamplerContext javaSamplerContext) { System.out.println("hello jmeter!"); return null; }}public Arguments getDefaultParameters();设置可用参数及的默认值;
public void setupTest(JavaSamplerContext arg0):每个线程测试前执行一次,做一些初始化工作;
public SampleResult runTest(JavaSamplerContext arg0):开始测试,从arg0参数可以获得参数值;
public void teardownTest(JavaSamplerContext arg0):测试结束时调用;
执行顺序:getDefaultParameters() --> setupTest(JavaSamplerContext context) --> runTest(JavaSamplerContext context) --> teardownTest(JavaSamplerContext context)
————————————————
2、引用JavaSamplerClient类
1 package com.demo;
2
3
4 import org.apache.jmeter.config.Arguments;
5 import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
6 import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
7 import org.apache.jmeter.samplers.SampleResult;
8
9
10 import java.io.IOException;
11 import java.io.InputStream;
12 import java.net.MalformedURLException;
13 import java.net.URL;
14 import java.net.URLConnection;
15
16
17 public class Second implements JavaSamplerClient {
18
19 //URLNAME就是在图形化界面当中显示的变量名称
20 private static final String URLNAME ="URL";
21
22 //设置界面当中默认显示的变量的值
23 private static final String DEFALTURL="http://www.baidu.com";
24
25 //用来存储响应的数据,目的是讲响应结果放到查看的结果数中
26 private String resultData;
27
28 //用户输入的url地址信息
29 private String inputURL;
30
31
32 /**
33 * 这个方法决定了在jmeter当中要显示那些属性,加载到jmeter的时候会执行一次
34 * @return
35 */
36 public Arguments getDefaultParameters() {
37 Arguments arguments = new Arguments();
38 arguments.addArgument(URLNAME,DEFALTURL);
39
40 System.out.println("getDefaultParameters");
41 return arguments;
42 }
43
44
45 /**
46 * 这个方法就是一个初始化方法,我们所有的初始化的动作都可以在这里写
47 * @param javaSamplerContext
48 */
49 public void setupTest(JavaSamplerContext javaSamplerContext) {
50 inputURL =javaSamplerContext.getParameter(URLNAME,DEFALTURL);
51 System.out.println("setupTest run");
52 System.out.println("用户输入的URL地址是:" + inputURL);
53
54
55 }
56 /**
57 * 这个方法就是实现你具体功能逻辑的方法
58 * @param javaSamplerContext
59 * @return
60 */
61 public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
62 SampleResult result = new SampleResult();
63 System.out.println("runTest run");
64 StringBuffer sb = new StringBuffer();
65 try {
66 URL url = new URL(inputURL);
67 URLConnection conn = url.openConnection();
68 byte[] buffer = new byte[1024];
69 int len;
70
71 result.sampleStart(); //标记事务的开始
72 InputStream in = conn.getInputStream();
73 while ((len=in.read(buffer))!=-1){
74 resultData = new String(buffer,"UTF-8");
75 sb.append(resultData);
76
77 }
78
79 } catch (MalformedURLException e) {
80 e.printStackTrace();
81 } catch (IOException e) {
82 e.printStackTrace();
83 }
84
85
86 // resultData ="这就是响应的结果";
87 resultData = sb.toString();
88 result.setSampleLabel("自定义java请求访问抬头");
89 result.setSuccessful(true); //告诉查看结果是访问是否成功
90 result.setResponseData(resultData);
91 result.setDataType(SampleResult.TEXT);
92 return result;
93 }
94 /**
95 * 这个方法就是来做一些收尾的工作的
96 * @param javaSamplerContext
97 */
98 public void teardownTest(JavaSamplerContext javaSamplerContext) {
99 System.out.println("teardownTest run");
100
101 }
102 }
然后在Terminal中,输入命令mvn clean package 就在此项目的target下,打包生成了demo-1.0-SNAPSHOT.jar的jar包,

然后,把此jar包,放到jmeter的安装目录下的D:\apache-jmeter-3.1\lib\ext下,最后,打开jmeter,创建线程组-->java请求,类名称的选择是此second类的路径,比如com.demo.second


执行结果:

参考地址 https://blog.csdn.net/a448335587/article/details/134209846
参考地址 https://www.cnblogs.com/qiaoxin/articles/11803953.html

浙公网安备 33010602011771号