jmeter自定义java_java自定义jar包让jmeter使用的方法_芝士的草原的博客-程序员宅基地

技术标签: 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 params = new ArrayList();

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使用

可以看到已经加载了两个参数,我们给下面参数做个参数化,增加一个计数器

4e869004e3af1cd6db92b66840b419ac.png

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

3a78e32c90236c1b4a1f38acc7d44ab4.png

使用:

8ca756c8ce4cc2efcd3c3d9953a48910.png

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

8b9d7a03aeb27b88a261b496502f85fc.png

caa03a8d2ab1fee38cdf302ef3d96dd6.png

以上就是本次介绍的全部相关知识点,感谢大家的学习和对脚本之家的支持。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_31830389/article/details/114094163

智能推荐

计算机一级70分是什么等级,公务员笔试行测70分是个什么水平?_weixin_39658716的博客-程序员宅基地

本帖数据来源于2019年湖北省考。在我们上小学的时候,考卷面分70%的那一定是很差劲了,如果在初中,也是在中游偏下水平,到了高中,这分数就能到中间了。如果是资格考试,考7成的分数就万事大吉了,但是在公务员笔试中,行测70分大约处于什么水平?每当省考成绩发布的时候,我们常常在社群里看到各种高分,140+,150+有很多,给人一种错觉:大家的普遍水平在120-130左右。格木教育统计了一下今年湖北省考...

安徽省2019c语言二级答案,2019年全国计算机二级C语言练习及答案二_季文冬的博客-程序员宅基地

【摘要】备考全国计算机二级C语言考试的小伙伴们,知识点掌握的都怎么样了呢?环球网校小编整理了2019年全国计算机二级C语言练习及答案解析供大家练习,小伙伴们快来做一做,测试一下自己吧!了解更多全国计算机二级C语言备考资料敬请关注环球网校计算机二级频道。1.[单选题]若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正...

Selenium自动化(鼠标键盘操作)------详细_网易测试开发猿的博客-程序员宅基地

Selenium自动化(鼠标键盘操作)一、模拟按键输入driver.find_element_by_id('kw').send_keys("史蒂芬库里")清除对象的内容,一般是对有默认值的时候:time.sleep(3)driver.find_element_by_id('kw').clear()单击对象(此处实在百度官网测试):driver.find_element(By.ID, "su").click()提交表单,要求对象必须是表单:driver.find_element_by_

文档扫描OCR识别-1(python)_justwaityou1314的博客-程序员宅基地

凯哥英语视频文档扫描OCR识别凯哥英语视频1.现有资源梳理2.实现方案规划对模板操作,将十个模板和对应的数字一一对应起来对测试图片操作,取得我们需要的,每个数字的像素 .3.代码实现结语1.现有资源梳理目前有一张卡号模板图片N张测试银行卡图片,其一如下操作环境 win10-64位代码语言 Python 3.62.实现方案规划对模板操作,将十个模板和对应的数字一一对应起来图片中通过查找轮廓,然后绘制轮廓外界矩形的方式,将每一和数字分割出来,并和对应的数字相对应。以字典的形式保存每一个模

Tomcat9的安装、配置与使用(文末解决Tomcat9的乱码问题)_是七叔呀的博客-程序员宅基地_tomcat9 乱码

一、Tomcat服务器与servlet版本的关系官网网址:https://tomcat.apache.org/whichversion.html二、Tomcat的下载与安装说明1、访问Tomcat的官网https://tomcat.apache.org2、下载Tomcat免安装版点击Download下的Tomcat9根据自己的电脑位数来下载相应的免安装版安装包下载zip压缩包完成下载后的包安装目录介绍bin 可以执...

Vue 路由传参_ZHANGC·的博客-程序员宅基地

路由传参三种方式需求:获取传递参数<router-link to="/login/11314555">路由传参</router-link><button @click="loginById('11314555')">路由传参</button>方式一路由配置: { path: '/login/:id', name: 'login', component: login }需要在path中添加 /:id 来对应

随便推点

java db2 list tables_DB2常用命令_爱卡汽车的博客-程序员宅基地

1.启动实例(db2inst1):实例相当于informix中的服务db2start2.停止实例(db2inst1):db2stop3.列出所有实例(db2inst1)db2ilist4.列出当前实例:db2 get instance5.察看示例配置文件:db2 get dbm cfg|more6.更新数据库管理器参数信息:db2 update dbm cfg using para_name pa...

mac上编译安装php_木偶跳舞的博客-程序员宅基地_mac php编译安装

下载源代码下载地址:http://www.php.net/downloads.php下载最新版php安装包。编译安装tar -zxvf php-7.4.7.tar.gz cd php-7.4.7/./buildconf --force./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --with-config-file-scan-dir=/usr/loca

修改Nginx网站根目录_qwerty_Lee的博客-程序员宅基地_nginx 网站目录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34364668/article/details/78062616默认网站根目录为/usr/local/nginx/html,要将它改成/homw/www进入Nginx配置文件 cd /etc/nginx/sites-available修改default文件 sudo v...

git push 报错:deploykey does not support push code_zhangyubababa的博客-程序员宅基地

DeployKey does not support push code fatal: Could not read from remote repository.这是公钥配错位置了!无论是码云还是github都在头像那个位置配置公钥。码云:github:设置公钥的正确位置!1配置自己的账号2生成公钥3在远程仓库配置公钥 注意按照上图的位置配置远程仓库的公钥4推送到远程仓库...

platform设备驱动简介_laohuang1122的博客-程序员宅基地_platform 设备驱动

简介:目的:说白了就是为了将设备与驱动分离,通过platform总线进行连接废话不多说:相关结构介绍:1.platform设备结构体structplatform_device{const charname;/*设备名*/u32 id;/*设备id*/struct device dev;/*设备*/u32 num_resource;

持久化和对象关系映射ORM技术_小落勇士的博客-程序员宅基地

 何谓“持久化”持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。何谓“持久层”持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。何谓“对象数据映射(O