一、postman工作原理
1.發(fā)請求
2.接受請求響應(yīng)
3.接收響應(yīng)顯示到頁面
二、測試的質(zhì)量特性
1.功能性--接口邏輯的正確、準確性
(輸入不同正確的組合,驗證返回正確(不同的響應(yīng)狀態(tài)),邏輯正確,精度正確)
2.功能性--接口的關(guān)聯(lián)性
(依賴有無,正確,其他,時間)
3.接口的異常健壯性(第三方支付的api)
(空,不符合需求(業(yè)務(wù)--eg字符/漢字,功能),功能不符合(參數(shù)個數(shù),類型,缺失,左右邊界,上下溢出,優(yōu)先級,邏輯,文件上傳打開關(guān)閉各種問題))
4.接口的安全性
(輸入的內(nèi)容對域(eg:http://ip/v?id=1234,id修改后也可以訪問),對訪問控制,權(quán)限,數(shù)據(jù)庫sql注入)
【接口測試重點】
1、參數(shù)驗證
接口參數(shù)的邊界值。
例如,傳遞的參數(shù)足夠大或為負數(shù)時,接口是否可以正常處理
2、業(yè)務(wù)功能
接口是否滿足了所提供的功能,檢查接口返回的數(shù)據(jù)是否與預(yù)期結(jié)果一致。
3、異常場景
重復(fù)提交、并發(fā)提交、事務(wù)中斷、多機環(huán)境、大數(shù)據(jù)量測試
檢查接口的容錯性,假如傳遞數(shù)據(jù)的類型錯誤時是否可以處理。
4、接口的性能
響應(yīng)時間、吞吐量、并發(fā)數(shù)、資源要求
5、接口的安全性
外部調(diào)用的接口、權(quán)限驗證、SQL注入
三、http協(xié)議




四、postman發(fā)送不同類型的請求


需掌握問題:
1.請求和響應(yīng)的屬性解析
一次完整的HTTP請求所經(jīng)歷的7個步驟
說明:HTTP通信機制是在一次完整的HTTP通信過程中,web瀏覽器與web服務(wù)器之間將完成下列7個步驟:
建立TCP連接
Web瀏覽器向web服務(wù)器發(fā)送請求命令? 例如:GET /sample/hello.jsp HTTP 1.1
Web瀏覽器發(fā)送請求頭信息
Web服務(wù)器應(yīng)答? 例如:HTTP/1.1 200 ok
Web服務(wù)器發(fā)送應(yīng)答頭信息
Web服務(wù)器向瀏覽器發(fā)送數(shù)據(jù)
Web服務(wù)器關(guān)閉TCP連接
重要響應(yīng)頭及屬性:
1).General? Headers 通用信息頭? ? 既能用于請求消息中,也能用于響應(yīng)信息中,但與被傳輸?shù)膶嶓w內(nèi)容沒有關(guān)系的信息頭。里面包含內(nèi)容詳解如下:
Request? URL? ? ? ? 請求的地址
Request? Method? ? 請求的方法類型
Status? Code? ? ? 響應(yīng)狀態(tài)碼
Remote? Address? ? 表示遠程服務(wù)器地址
2).Response Headers? 響應(yīng)頭
Content-Length響應(yīng)體的長度
Content-type返回的響應(yīng)MIME類型與編碼:告訴瀏覽器它發(fā)送的數(shù)據(jù)屬于什么文件類型
Cache-control指定請求和響應(yīng)遵循的緩存機制
? ? 1)public 響應(yīng)可被任何緩存區(qū)緩存
? ? 2)private 對于單個用戶的整個或部分響應(yīng)消息,不能被共享緩存處理
? ? 3)no-cache 表示請求或響應(yīng)消息不能緩存
? 4.date? ? ? ? ? ? 原始服務(wù)器消息發(fā)出的時間
? 5.Server? ? ? ? web服務(wù)器軟件名稱
? 6.Last-Modified? 標記請求的資源在服務(wù)器端最后被修改的時間
3).Request? Headers? 請求頭
Accept告訴服務(wù)器可以接受的文件格式。根據(jù)Accept頭的不同,按照相應(yīng)的順序進行produces的匹配。
Accept-Encoding? ? gzip,deflate,sdch,br 指定瀏覽器可以支持的web服務(wù)器返回的內(nèi)容壓縮編碼類型
Accept-Language? ? 瀏覽器支持的語言
Cache-Control? ? 指定請求和響應(yīng)遵循的緩存機制
Connection? ? ? keep-alive 表示是否需要持久連接
Cookie? ? HTTP請求發(fā)送時,會把保存在該請求域名下的所有cookie值一起發(fā)送給web服務(wù)器
Host? ? ? ? ? 指定請求的服務(wù)器的域名和端口號
Referer? ? 告訴服務(wù)器是從哪個網(wǎng)站鏈接過來的
User-Agent用戶代理:簡稱UA。內(nèi)容包含發(fā)出請求的用戶信息,使得服務(wù)器能夠識別客戶端使用的操作系統(tǒng)及版本、CPU類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、插件等。
Authorization? 當客戶端訪問受口令保護時,服務(wù)器端會發(fā)送401狀態(tài)碼和www-authenticate 響應(yīng)頭,要求客戶端使用Authorization來應(yīng)答
參考鏈接:https://www.cnblogs.com/hld123/p/10861557.html
2.Content_type是什么?常用哪幾種類型?
Content_type是Http的實體首部字段,用于說明請求或返回的消息主體是用何種方式編碼,在request header和response header里都存在。
1)、application/x-www-form-urlencoded
瀏覽器的原生form表單
提交的數(shù)據(jù)按照 key1=val1&key2=val2 的方式進行編碼,key和val都進行了URL轉(zhuǎn)碼
2)、multipart/form-data
常見的 POST 數(shù)據(jù)提交的方式。我們使用表單上傳文件時,必須讓 form 的 enctype 等于這個值。
3)、application/json
消息主體是序列化后的 JSON 字符串,這個類型越來越多地被大家所使用
這種方案,可以方便的提交復(fù)雜的結(jié)構(gòu)化數(shù)據(jù),特別適合 RESTful 的接口。各大抓包工具如 Chrome 自帶的開發(fā)者工具、Firebug、Fiddler,都會以樹形結(jié)構(gòu)展示 JSON 數(shù)據(jù),非常友好。
4)、text/xml
是一種使用 HTTP 作為傳輸協(xié)議,XML 作為編碼方式的遠程調(diào)用規(guī)范
參考鏈接:http://www.itdecent.cn/p/ba40da728806
3.http協(xié)議,tcp協(xié)議,Ip協(xié)議分別在那一層
HTTP協(xié)議、TCP協(xié)議、IP協(xié)議分別在應(yīng)用層,傳輸層,網(wǎng)絡(luò)層。
4.有哪些協(xié)議?
網(wǎng)絡(luò)層協(xié)議:包括:IP協(xié)議、ICMP協(xié)議、ARP協(xié)議、RARP協(xié)議。
傳輸層協(xié)議:TCP協(xié)議、UDP協(xié)議。
應(yīng)用層協(xié)議:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。
5.http、https、tcp、udp、websocket協(xié)議是什么?
參考鏈接:https://blog.csdn.net/whb20081815/article/details/67640804
五、百度搜索接口數(shù)據(jù)驅(qū)動自動化實例
步驟一:百度搜索‘postman’


步驟二:使用csv參數(shù)化方式搜索多個關(guān)鍵詞,全部執(zhí)行





五、微信公眾號tag接口自動化
接口例子地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

復(fù)制此接口: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

配置斷言:





