postman之前作為Chorme的一個插件,現(xiàn)在也擁有獨(dú)立的客戶端。
各個功能區(qū)的使用如下:
- 快捷區(qū):快捷區(qū)提供常用的操作入口蟀给,包括運(yùn)行收藏夾的一組測試數(shù)據(jù)蝙砌,導(dǎo)入別人共享的收藏夾測試數(shù)據(jù)(Import from file, Import from folder, Import from link等)阳堕,或新建請求、收藏夾择克、環(huán)境變量等恬总。
- 側(cè)邊欄:包括搜索欄,Request請求的歷史記錄和收藏夾管理肚邢。
- 功能區(qū):Request請求設(shè)置壹堰,查看Response響應(yīng)結(jié)果和測試結(jié)果,可以將請求保存到收藏夾骡湖。
- 設(shè)置區(qū):設(shè)置和管理環(huán)境變量和全局變量贱纠。
一、環(huán)境變量和全局變量的設(shè)置:
二响蕴、用Postman做接口測試的實(shí)例
接口測試中常用的請求為GET和POST
Get和POST的區(qū)別:
- Get使用URL(ip+端口號?+接口名)和Cookie傳參谆焊,而POST將數(shù)據(jù)放在Body中。
- GET的URL在長度上有限制浦夷,而POST沒有辖试。
- POST比GET相對安全,因?yàn)榈刂窓诓豢梢姟?/li>
- 一般POST請求用來獲取數(shù)據(jù)劈狐,POST請求用來發(fā)送數(shù)據(jù)罐孝。
接口測試:
工具:fiddler、jmeter肥缔、postman莲兢、soapui
接口測試原理:
使用發(fā)包工具(發(fā)送請求報文),服務(wù)器接收到請求報文之后续膳,根據(jù)請求報文進(jìn)行邏輯處理(校驗(yàn)改艇、查詢數(shù)據(jù)庫),然后向客戶端返回響應(yīng)報文姑宽,客戶端接收到響應(yīng)遣耍,我們進(jìn)行解析和預(yù)期結(jié)果的比對(斷言:TestNG Junit)
Eclipse->新建lib文件->導(dǎo)入HttpClient庫(地址:http://hc.apache.org/downloads.cgi)
編寫:
GET:
發(fā)起一個http請求:
1.客戶端(瀏覽器、fiddler炮车、手機(jī)(設(shè)置代理)舵变、postman)
CloseableHttpClient httpClient = HttpClient.createDefault();
2.請求的地址:url
String url ="https://postman-echo.com/get?test=123";
3.創(chuàng)建一個get請求
HttpGet get = new HttpGet(url);
5.請求頭:
6.請求體
7.發(fā)包-->獲得響應(yīng)
CloseableHttpResponse httpResponse = httpClient.excute(get);
//httpResponse.getAllHeaders();//所有請求頭信息
//httpResponse.getStatusLine();//獲得狀態(tài)行
//httpResponse.getEntity();//獲得響應(yīng)體
8.狀態(tài)行 響應(yīng)頭 響應(yīng)體
HttpEntity httpEntity = httpResponse.getEntity();
//把這個對象用字符串形式描述出來
String entityString = EntityUtils.toString(httpEntity);
9.斷言
System.out.println(entityString);
POST:
1.準(zhǔn)備客戶端
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);
設(shè)置請求頭:
post.setHeader("Accept","application/json");
post.setHeader("Content-Type","application/x-www-form-urlencoded");
6.請求體
//NameValuePair:名值對
//創(chuàng)建一個列表對象存放名值對:參數(shù)
List<NameValuePair> parameters =new ArrayList<NameValuePair>();
parameters .add(new BasicNameValuePair("username","123456"));
parameters .add(new BasicNameValuePair("password","123456"));
3.把參數(shù)設(shè)置到post的請求體中
post.setEntity(new UrlEncodeFormEntity(parameters));
4.發(fā)包
CloseableHttpResponse httpResponse = httpClient.excute(post);
5.獲得響應(yīng)體
HttpEntity httpEntity = httpResponse.getEntity();
6.斷言
String result= EntityUtils.toString(httpEntity);
System.out.println(result);