上一篇文章中,提到怎么生成jar包让jmeter使用,这次我们来试试做参数,因为发现调包的时候其实更多还是参数化,那么开始改造吧
1。在httpclientpost这个类中替换参数,且打印参数
进口java.io.BufferedReader; 进口java.io.IOException; 进口java.io.InputStream; 进口java.io.InputStreamReader; 进口java.util.ArrayList; 进口并不知道; 进口org.apache.http.HttpEntity; 进口org.apache.http.NameValuePair; 进口org.apache.http.client.ClientProtocolException; 进口org.apache.http.client.entity.UrlEncodedFormEntity; 进口org.apache.http.client.methods.CloseableHttpResponse; 进口org.apache.http.client.methods.HttpPost; 进口org.apache.http.impl.client.CloseableHttpClient; 进口org.apache.http.impl.client.HttpClients; 进口org.apache.http.message.BasicNameValuePair; 公开课httpclientPost { 公共静态int sendpost(字符串邮件,字符串值)抛出ClientProtocolException IOException { CloseableHttpClient httpclient=HttpClients.createDefault (); HttpPost帖子=new HttpPost (https://user.zaful.com/m-users-a-act_sign.htm& # 63;管道=zf); Listparams=new ArrayList (); 参数个数。添加(新BasicNameValuePair(“电子邮件”,电子邮件); 参数个数。添加(新BasicNameValuePair(“密码”,值)); 职位。setEntity(新UrlEncodedFormEntity (params)); CloseableHttpResponse response2=httpclient.execute (post); .getStatusCode int代码=response2.getStatusLine () (); HttpEntity http=response2.getEntity (); InputStream生态基=http.getContent (); BufferedReader读者=new BufferedReader(新InputStreamReader(生态基)); StringBuffer缓冲=new StringBuffer (); 字符串行; 在((=reader.readLine行())!=null) { 缓冲区。添加(+行“溴”); } reader.close (); system . out。println(“电子邮件:”+电子邮件+密码:“+值); system . out。println(代码+“响应:“+缓冲); 返回码; } } >之前 在addcomputerInfo中实现getDefaultParameters方法,这步很重要
//参数化方法 @Override 公共参数getDefaultParameters () {//TODO自动生成方法存根 参数参数=new参数(); arguments.addArgument("电子邮件"," "); arguments.addArgument(“价值”,“”); 返回参数; } 公共SampleResult小牛(JavaSamplerContext arg0) {//TODO自动生成方法存根 SampleResult结果=new SampleResult (); result.sampleStart ();//事务启动 {//尝试参数化方法的使用 int responeCode=httpclientPost.sendpost (arg0.getParameter(“电子邮件”),arg0.getParameter(“价值”)); 如果(responeCode==200) { result.setSuccessful(真正的); 其他}{ result.setSuccessful(假); } }捕捉(ClientProtocolException e) { result.setSuccessful(假);//TODO自动生成的catch块 e.printStackTrace (); }捕捉(IOException e) {//TODO自动生成的catch块 result.setSuccessful(假); e.printStackTrace (); } result.sampleEnd();//事务关闭 返回结果; } 公共静态void main (String [] args) { 新的addcomputerInfo () .runTest(新JavaSamplerContext(新参数())); } >之前三、重新打包
四:jmeter使用
可以看到已经加载了两个参数,我们给下面参数做个参数化,增加一个计数器
增加计数器,每次递增1,每次填充0001
,使用:
,
,运行,因为都是没有注册的用户,所以都是错误
,
以上就是本次介绍的全部相关知识点,感谢大家的学习和对的支持。
java自定义jar包让jmeter使用的方法