您好,登錄后才能下訂單哦!
上一篇文章中,提到怎么生成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
使用:
運行,因為都是沒有注冊的用戶,所以都是錯誤
以上就是本次介紹的全部相關知識點,感謝大家的學習和對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。