Postman相信大家都听过或者用过,是一款能够模拟http请求的工具,它是由google开发的一款测试插件,最开始是chrome的一款插件,现在独立成一个应用了。有着许多优点,如免费开源,界面友好,操作简单。
说到底Postman是一款软件工具,那么只要是软件都是用代码写出来的。咱们今天就使用java中的httpclient工具包来模拟写一个Postman。
- 首先我们创建一个maven项目,导入httpClient 坐标。
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
</dependencies>
- 所有的代码都是由思路转化,所以我们先把思路整理下。
1、打开postman
2、创建request连接
3、填写url和请求方式
4、如果有参数添加参数
5、点击发送按钮,发送请求
6、获取响应报文
7、格式化响应报文
8、在控制台输出报文
- 首先我们先实现GET请求
//1、打开postman
//这一步相当于运行main方法。
//2、创建request连接 3、填写url和请求方式
HttpGet get = new HttpGet("https://www.baidu.com");
//4、如果有参数添加参数 get请求不需要参数,省略
CloseableHttpClient client = HttpClients.createDefault();
//5、点击发送按钮,发送请求 6、获取响应报文
CloseableHttpResponse response = client.execute(get);
//7、格式化响应报文
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);
//8、在控制台输出报文
System.out.println(result);
- 控制台结果结果
- 接下来再实现POST请求,实现思路和GET是一样的只是替换一些代码
//1、打开postman
//这一步相当于运行main方法。
//2、创建request连接 3、填写url和请求方式
HttpPost httpPost = new HttpPost("http://test.lemonban.com/ningmengban/mvc/user/login.json");
//2.1 额外设置Content-Type请求头
httpPost.setHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
//4、如果有参数添加参数
CloseableHttpClient client = HttpClients.createDefault();
httpPost.setEntity(new StringEntity("username=13212312312&password=4297f44b13955235245b2497399d7a93","UTF-8"));
//5、点击发送按钮,发送请求 6、获取响应报文
CloseableHttpResponse response = client.execute(httpPost);
//7、格式化响应报文
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);
//8、在控制台输出报文
System.out.println(result);
- 控制台结果结果
- 如果我们想对一个接口进行重复测试,难道代码需要重写编写吗?不用,进一步封装优化即可。
public static void main(String[] args) throws Exception{
String 请求地址 = "http://test.lemonban.com/ningmengban/mvc/user/login.json";
String 请求参数1 = "username=13212312312&password=4297f44b13955235245b2497399d7a93";
String 请求参数2 = "username=13212312312&password=33333";
String 请求参数3 = "password=123456";
String 请求参数4 = "username=13212312312";
发起post请求(请求地址,请求参数1);
发起post请求(请求地址,请求参数2);
发起post请求(请求地址,请求参数3);
发起post请求(请求地址,请求参数4);
}
private static void 发起post请求(String url,String params) throws IOException, ClientProtocolException {
//1、打开postman --->编程语言写得
//2、创建request连接 3、填写url和请求方式
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
//4、如果有参数添加参数
CloseableHttpClient client = HttpClients.createDefault();
httpPost.setEntity(new StringEntity(params,"UTF-8"));
//5、点击发送按钮,发送请求 6、获取响应报文
CloseableHttpResponse response = client.execute(httpPost);
//7、格式化响应报文
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);
System.out.println(result);
}
欢迎来到testingpai.com!
注册 关于