java自定义jar包让jmeter使用---给java参数化
上一篇文章中,提到怎么生成jar包让jmeter使用,这次我们来试试做参数,因为发现调包的时候其实更多还是参数化,那么开始改造吧
1.在httpclientpost这个类中替换参数,且打印参数
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(String email,String value) throws ClientProtocolException, IOException {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost post = new HttpPost("https://user.zaful.com/m-users-a-act_sign.htm?pipeline=zf");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("password", value));
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("email: "+email +" password:"+value);
System.out.println(code +" respones:"+buffer); return code;
} }
在addcomputerInfo中实现getDefaultParameters方法,这步很重要
//参数化方法
@Override
public Arguments getDefaultParameters() {
// TODO Auto-generated method stub Arguments arguments=new Arguments();
arguments.addArgument("email","");
arguments.addArgument("value","");
return arguments;
}
public SampleResult runTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
SampleResult result=new SampleResult();
result.sampleStart(); //事务启动
try { //参数化方法的使用
int responeCode=httpclientPost.sendpost(arg0.getParameter("email"),arg0.getParameter("value"));
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()));
}
三、重新打包
四:jmeter使用
可以看到已经加载了两个参数,我们给下面参数做个参数化,增加一个计数器

增加计数器,每次递增1,每次填充0001

使用:

运行,因为都是没有注册的用户,所以都是错误


java自定义jar包让jmeter使用---给java参数化的更多相关文章
- java自定义jar包让jemeter使用
背景:可能在做定义化的要求上,jmeter原有的jar包,已经不能满足我们,就需要自己写一个方法,以下就是写入的一个模拟post的请求,在jmeter中使用的案例 一:写代码 1.代码中的有两个包,原 ...
- Java打jar包详解
Java打jar包详解 一.Java打jar包的几种方式https://www.cnblogs.com/mq0036/p/8566427.html 二.MANIFEST.MF文件详解https://w ...
- Jmeter调用自定义jar包
一. 场景 在测试过程中, 可能需要调用第三方jar包来生成测试数据或者使用java工具类来实现业务场景, 普遍的做法是手动调用jar包, 再把这些值赋给jmeter中的某个参数, 以满足业务测试需求 ...
- jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战
背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需 ...
- Kettle自定义jar包供javascript使用
我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法.所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用. 本篇文章 ...
- java 执行 jar 包中的 main 方法
java 执行 jar 包中的 main 方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar执行后总是运行指定的主方法,如果 jar 中有多 ...
- 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 ...
- (转)java 从jar包中读取资源文件
(转)java 从jar包中读取资源文件 博客分类: java 源自:http://blog.csdn.net/b_h_l/article/details/7767829 在代码中读取一些资源文件 ...
- Python3.5调用Java的jar包
声明:这个是在一个博客上看到的,过了俩星期了突然找不到原博客了,如果原来的博主看到,请联系我删除~ 主要是怕自己忘记,所以在此记录: 环境 Python3.5+JDK1.8 安装命令:python3 ...
随机推荐
- java abstractQueue
- selenium-1-python
python selenium from selenium import webdriver from selenium.webdriver.common.action_chains import A ...
- “SkyReach”对“待就业六人组”和“葫芦娃”的Beta产品测试报告
对"待就业六人组"的Beta产品测试报告 安装成功截图 第一次上手体验感觉如何?能否正常运行? 第一次上手体验,界面简洁明了,简约的风格比较迎合个人的口味:能够正常运行: 该产品具 ...
- python 使用 requests 做 http 请求
1. get import requests # 最简单的get请求 r = requests.get(url) print(r.status_code) print(r.json()) # url ...
- 【PHP】系统部署
1.MySql数据库,单独创建用户和数据库 使用MySql-Front导入,避免使用Navicat导入 2.httpd-vhosts.conf配置 文件位于:D:\Xampp\apache\conf\ ...
- 五个wordpress调用随机文章的方法
分享几个WordPress不用插件调用随机文章的方法,不仅增强用户粘性,而且当蜘蛛来爬你的文章的时候每次都会有变化,搜索引擎很喜欢.主要用到的是orderby rand参数,下面就随ytkah一起来看 ...
- SpringBoot整合Spring Data Elasticsearch
Spring Data Elasticsearch提供了ElasticsearchTemplate工具类,实现了POJO与elasticsearch文档之间的映射 elasticsearch本质也是存 ...
- layoutSubviews的缺省实现是使用约束进行布局
Discussion The default implementation of this method does nothing on iOS 5.1 and earlier. Otherwise, ...
- P1657选书-(dfs)
https://www.luogu.org/problemnew/show/P1657 解题:对于某个人喜欢的两本书,选或者是不选! 坑:数据有一组是0的,按dfs会出错,0本书选个屁,有啥意义?不给 ...
- PHP 判断时间段 至今过了多长时间
/** * * @param timestamp $time 输入时间 * @return str $str 输入时间与现在时间差的中文 */ function wordTime($time) { / ...