postman之前作为Chorme的一个插件,现在也拥有独立的客户端。
各个功能区的使用如下:
- 快捷区:快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据,导入别人共享的收藏夹测试数据(Import from file, Import from folder, Import from link等),或新建请求、收藏夹、环境变量等。
- 侧边栏:包括搜索栏,Request请求的历史记录和收藏夹管理。
- 功能区:Request请求设置,查看Response响应结果和测试结果,可以将请求保存到收藏夹。
- 设置区:设置和管理环境变量和全局变量。
一、环境变量和全局变量的设置:
二、用Postman做接口测试的实例
接口测试中常用的请求为GET和POST
Get和POST的区别:
- Get使用URL(ip+端口号?+接口名)和Cookie传参,而POST将数据放在Body中。
- GET的URL在长度上有限制,而POST没有。
- POST比GET相对安全,因为地址栏不可见。
- 一般POST请求用来获取数据,POST请求用来发送数据。
接口测试:
工具:fiddler、jmeter、postman、soapui
接口测试原理:
使用发包工具(发送请求报文),服务器接收到请求报文之后,根据请求报文进行逻辑处理(校验、查询数据库),然后向客户端返回响应报文,客户端接收到响应,我们进行解析和预期结果的比对(断言:TestNG Junit)
Eclipse->新建lib文件->导入HttpClient库(地址:http://hc.apache.org/downloads.cgi)
编写:
GET:
发起一个http请求:
1.客户端(浏览器、fiddler、手机(设置代理)、postman)
CloseableHttpClient httpClient = HttpClient.createDefault();
2.请求的地址:url
String url ="https://postman-echo.com/get?test=123";
3.创建一个get请求
HttpGet get = new HttpGet(url);
5.请求头:
6.请求体
7.发包-->获得响应
CloseableHttpResponse httpResponse = httpClient.excute(get);
//httpResponse.getAllHeaders();//所有请求头信息
//httpResponse.getStatusLine();//获得状态行
//httpResponse.getEntity();//获得响应体
8.状态行 响应头 响应体
HttpEntity httpEntity = httpResponse.getEntity();
//把这个对象用字符串形式描述出来
String entityString = EntityUtils.toString(httpEntity);
9.断言
System.out.println(entityString);
POST:
1.准备客户端
CloseableHttpClient httpClient = HttpClient.createDefault();
2.请求的地址:url
String url ="https://39.108.60:8380/ningmengban/mvc/usr/login.json";
3.请求方法是post
HttpPost post = new HttpPost(url);
设置请求头:
post.setHeader("Accept","application/json");
post.setHeader("Content-Type","application/x-www-form-urlencoded");
6.请求体
//NameValuePair:名值对
//创建一个列表对象存放名值对:参数
List<NameValuePair> parameters =new ArrayList<NameValuePair>();
parameters .add(new BasicNameValuePair("username","123456"));
parameters .add(new BasicNameValuePair("password","123456"));
3.把参数设置到post的请求体中
post.setEntity(new UrlEncodeFormEntity(parameters));
4.发包
CloseableHttpResponse httpResponse = httpClient.excute(post);
5.获得响应体
HttpEntity httpEntity = httpResponse.getEntity();
6.断言
String result= EntityUtils.toString(httpEntity);
System.out.println(result);