背景:可能在做定义化的要求上,jmeter原有的jar包,已经不能满足我们,就需要自己写一个方法,以下就是写入的一个模拟post的请求,在jmeter中使用的案例

一:写代码

1.代码中的有两个包,原谅我取名字取的cuo,第一个包名,com.databasecomputer这个包下有一个addcomputerinfo这个类,com.jmeter包下有httpcientPost这个类

com.jmeter.httpcientPost 一个post请求,是登录请求,打印的是code码和登录后的信息

package com.jemeter;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List; import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair; public class httpclientPost { public static int sendpost() throws ClientProtocolException, IOException {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost post = new HttpPost("https://user.XXX.com/m-users-a-act_sign.htm?pipeline=xx");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("email", "zhang1@qq.com"));
params.add(new BasicNameValuePair("password", "zhangjun123"));
post.setEntity(new UrlEncodedFormEntity(params));
CloseableHttpResponse response2 = httpclient.execute(post); int code = response2.getStatusLine().getStatusCode();
HttpEntity http = response2.getEntity(); InputStream instreams = http.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(instreams));
StringBuffer buffer = new StringBuffer();
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line + "br ");
}
reader.close();
System.out.println(code +" respones:"+buffer); return code;
} }

 com.databasecomputer.addcomputerinfo  以下就是调用,并且调用事务

package com.databasecomputer;

import java.io.IOException;

import org.apache.http.client.ClientProtocolException;
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.jemeter.httpclientPost; public class addcomputerInfo extends AbstractJavaSamplerClient { public SampleResult runTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
SampleResult result=new SampleResult();
result.sampleStart(); //事务启动
try {
int responeCode=httpclientPost.sendpost();
if (responeCode==200) {
result.setSuccessful(true);
}else {
result.setSuccessful(false);
}
} catch (ClientProtocolException e) {
result.setSuccessful(false);
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
result.setSuccessful(false);
e.printStackTrace();
}
result.sampleEnd();//事务关闭
return result; }
public static void main(String[] args) {
new addcomputerInfo().runTest(new JavaSamplerContext(new Arguments()));
} }   

运行打印code码,返回登录成功,注意:在运行时,要导入jmeter的jar包,不然运行会报错,然后我就是不知道导入哪些包,出错一个问题,就导入相应的包,但是发现效率很低,干脆全部导入了

导包的过程,导入的是jmeter下lib的所有jar文件

二、打包

代码调试没有问题,就打包生成jar文件,生成文件可以用maven命令生成,也可以使用项目自己生成

生成文件为postdemo,文件路径是在jmeter下的lib/ext文件夹下

三、jmeter使用

注:如果生成jar成功,在启动jmeter中会去查找到这个方法名,自己加载出来,我在线程组中设置了10次

点击运行,控制台显示

运行的次数

说明调用jar成功

java自定义jar包让jemeter使用的更多相关文章

  1. java自定义jar包让jmeter使用---给java参数化

    上一篇文章中,提到怎么生成jar包让jmeter使用,这次我们来试试做参数,因为发现调包的时候其实更多还是参数化,那么开始改造吧 1.在httpclientpost这个类中替换参数,且打印参数 imp ...

  2. Jmeter调用自定义jar包

    一. 场景 在测试过程中, 可能需要调用第三方jar包来生成测试数据或者使用java工具类来实现业务场景, 普遍的做法是手动调用jar包, 再把这些值赋给jmeter中的某个参数, 以满足业务测试需求 ...

  3. Kettle自定义jar包供javascript使用

    我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法.所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用. 本篇文章 ...

  4. java 执行 jar 包中的 main 方法

    java 执行 jar 包中的 main 方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar执行后总是运行指定的主方法,如果 jar 中有多 ...

  5. Java常用jar包用途

    Java常用jar包用途: USAGE INDEX JAR NAME USAGE 1 ASM asm-2.2.3.jar ASM字节码库 2 ASM asm-commons-2.2.3.jar ASM ...

  6. (转)java 从jar包中读取资源文件

    (转)java 从jar包中读取资源文件 博客分类: java   源自:http://blog.csdn.net/b_h_l/article/details/7767829 在代码中读取一些资源文件 ...

  7. Python3.5调用Java的jar包

    声明:这个是在一个博客上看到的,过了俩星期了突然找不到原博客了,如果原来的博主看到,请联系我删除~ 主要是怕自己忘记,所以在此记录: 环境 Python3.5+JDK1.8 安装命令:python3 ...

  8. Java axis2.jar包详解及缺少jar包错误分析

    Java  axis2.jar包详解及缺少jar包错误分析 一.最小开发jar集 axis2 开发最小jar包集: activation-1.1.jar axiom-api-1.2.13.jar ax ...

  9. java执行jar包出错:Unable to access jarfile

    java执行jar包出错:Unable to access jarfile 错误的原因有多种: 1.一般都是路径不正确.在Windows中,正确的路径类似于: java -jar "D:\W ...

随机推荐

  1. SpringCloud2.0 Hystrix Dashboard 断路器指标看板

    原文:https://www.cnblogs.com/songlu/p/9973856.html 1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-ser ...

  2. 说说openjdk及G1回收器日志内容详细分析

    谈谈openjdk: 在正式往下学习JVM之前,这里谈谈openjdk这个网站,这个在学习java并发时也用过它来分析过锁的底层实现,如:https://www.cnblogs.com/webor20 ...

  3. URI与URL详解

    URL 与 URI 很多人会混淆这两个名词. URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符). URI:(Uniform Resource I ...

  4. c#每天生成漂亮桌面背景、英文名言、翻译

    阅读目录 一.1. 下载bing.com壁纸查询API 二.2. 解析返回的壁纸JSON信息 三.3. 下载完成的壁纸图片 阅读目录 .NET生成漂亮桌面背景 .NET生成漂亮桌面背景 总结 回到目录 ...

  5. 如何显示隐藏的文件在win7系统中

    点左下角“开始”菜单,再点击“计算机”. 点击窗口顶部靠左位置的“组织”菜单,选择其中的“文件夹和搜索选项”. 在弹出的窗口里点击切换到“查看”选项卡.   在窗口中部位置下拉滚动条,找到“显示隐藏的 ...

  6. 我的洛谷签名——Pale Blue Dot

    We succeeded in taking that picture [from deep space], and, if you look at it, you see a dot. That's ...

  7. 安装Matlab出现弹出DVD1插入DVD2的提示怎么办?

    此使,找到DVD1光驱,右键弹出,然后回到dvd2.iso文件右键装载,回到matlab安装页面,对提示框“弹出DVD1插入DVD2”点击确定,安装即可继续进行.

  8. 利用restassured实现http/https接口请求

    话不多说,直接上代码: package com.nuanshui.frms.test.utils.http; import io.restassured.response.Response; impo ...

  9. Trolley slow

  10. Numpy | 14 字符串函数

    本章函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作. 它们基于 Python 内置库中的标准字符串函数. 这些函数在字符数组类(n ...