Previous article mentioned how jmeter generating jar package to make use of this argument we try to do, because it was discovered transfer package, when in fact more or parameterized, then began to transform it
1. Alternatively httpclientpost parameters in this class, and the printing parameters
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; } }
In addcomputerInfo achieve getDefaultParameters method, this step is very important
//参数化方法 @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())); }
Third, repackaging
Four: jmeter use
You can see already loaded two parameters, we give the following parameters to be parameterized, increase a counter
Increase counter is incremented by one every time, every time filling 0001
use:
Run, because the user is not registered, it is wrong