端口號(hào)范圍:0~65535
默認(rèn)端口號(hào):http 80;https 443;mysql 3306;oracle 1521;sqlserver 1433
請(qǐng)求方法:
get用于查詢,搜索數(shù)據(jù)
post用于提交數(shù)據(jù)(增刪改),數(shù)據(jù)有變動(dòng)的
put用于修改數(shù)據(jù),修改數(shù)據(jù)的全部字段
patch用于修改數(shù)據(jù)(部分?jǐn)?shù)據(jù)字段)
delete用于刪除數(shù)據(jù)
參數(shù)之間用&連接
#接口請(qǐng)求組成
協(xié)議 方法 域名/ip 端口號(hào) 接口地址 參數(shù)
參數(shù)名1=值1&參數(shù)名2=值2&。。。。。
get 沒(méi)有請(qǐng)求類型
參數(shù)在接口地址里,,數(shù)據(jù)傳輸不安全
post 有請(qǐng)求類型:json字符串類型:Content-Type:application/json 特點(diǎn):參數(shù)以參數(shù)名1=值1&參數(shù)名2=值2&。。。。。在請(qǐng)求體中(與get可不一致啊,這個(gè)參數(shù)在請(qǐng)求體,get的參數(shù)在請(qǐng)求地址里)
表單類型:Content-Type:application/x-www-form-urlencoded
參數(shù)在請(qǐng)求體里,數(shù)據(jù)傳輸安全
網(wǎng)頁(yè)格式字符串類型:Content-Type:text/html
xml格式字符串類型:Content-Type:xml
#接口響應(yīng)組成
響應(yīng)類型:
json字符串類型:Content-Type:application/json
網(wǎng)頁(yè)格式字符串類型:Content-Type:text/html
xml格式字符串類型:Content-Type:xml
響應(yīng)由響應(yīng)頭和響應(yīng)體組成
響應(yīng)狀態(tài)碼:
200響應(yīng)結(jié)果成功返回客戶端,內(nèi)容是否正確不保證
400請(qǐng)求有誤,域名或者參數(shù)錯(cuò)誤
403請(qǐng)求有誤,客戶端無(wú)訪問(wèn)權(quán)限(IP被封,無(wú)讀寫(xiě)權(quán)限,證書(shū)錯(cuò)誤)
404請(qǐng)求有誤接口地址錯(cuò)誤
500服務(wù)器錯(cuò)誤,重啟,宕機(jī)等
#接口測(cè)試:
功能:能否正常完成其功能,能做什么,做的對(duì)不對(duì)。有無(wú)多做少做錯(cuò)做
性能:做事情的快慢,耗費(fèi)的資源(cpu,內(nèi)存,網(wǎng)絡(luò),硬盤(pán)等)
安全:是否加密敏感數(shù)據(jù)
借用工具
fiddler
官網(wǎng)下載:https://www.telerik.com/fiddler
#抓包http
##放大字體
tools-options-appearance-Font size,如圖:
##開(kāi)啟抓包
點(diǎn)擊左下角按鈕出現(xiàn)capturing字樣,即為已開(kāi)啟抓包
再點(diǎn)擊一次無(wú)capturing字樣,則不再抓包
點(diǎn)擊左側(cè)一個(gè)會(huì)話請(qǐng)求后,再點(diǎn)擊右側(cè)測(cè)inspectors,即可查看抓取道德數(shù)據(jù)
#抓包https
tools-options-https-勾選capture…,勾選Decrypt…,勾選Ignore…
勾選Decrypt https traffic 時(shí)候可能會(huì)彈窗,一路確定yes
這樣設(shè)置好后就可以抓包https協(xié)議
#抓取特定ip/域名的協(xié)議
當(dāng)fiddler抓取的數(shù)據(jù)太多了,只想顯示某些特定IP的數(shù)據(jù)時(shí),點(diǎn)擊右側(cè)Filters,勾選use Filters,選中第二個(gè)下拉框選擇show only the following hosts ,再在輸入框中輸入要過(guò)濾顯示的主機(jī)ip/域名,輸入多個(gè)ip用英文分號(hào);分隔
再點(diǎn)擊actions按鈕,點(diǎn)擊run filters now (每次過(guò)濾ip修改后都要做這一步才會(huì)生效)
再點(diǎn)擊工具欄的decode按鈕,點(diǎn)亮后就可以抓取https并且查看數(shù)據(jù)啦(不做這部抓取數(shù)據(jù)后顯示亂碼),選中此按鈕后需重新抓取請(qǐng)求數(shù)據(jù),之前抓取的沒(méi)有進(jìn)行解碼顯示亂碼
#處理抓取到的數(shù)據(jù)
fiddler左側(cè)會(huì)話區(qū)選中沒(méi)有箭頭的行點(diǎn)擊delete刪除就行,
點(diǎn)擊rules,勾選HIDE connects (過(guò)濾掉日志,css,js等數(shù)據(jù)) ,hide 304s (過(guò)濾掉重定向)
分析數(shù)據(jù)
主要關(guān)注:
charset編碼
content-type請(qǐng)求/響應(yīng)類型
referer,這個(gè)說(shuō)明請(qǐng)求的來(lái)源驗(yàn)證接口安全性的,一般不太關(guān)注
請(qǐng)求地址,數(shù)據(jù)
響應(yīng)數(shù)據(jù)
set-cookie 服務(wù)器返回的cookie,重要數(shù)據(jù)一般在set-cookie之后與第一個(gè)分號(hào)之前
#cookie和session區(qū)別:
http無(wú)狀態(tài),第一個(gè)網(wǎng)頁(yè)的數(shù)據(jù)只能傳給第二個(gè)網(wǎng)頁(yè),到第三個(gè)網(wǎng)頁(yè)時(shí)就已經(jīng)丟失
cookie和session就是解決無(wú)狀態(tài)問(wèn)題的,一定是前面的接口的響應(yīng)數(shù)據(jù)里有set-cookie,在下一個(gè)接口才會(huì)在請(qǐng)求頭發(fā)送cookie
cookie是存儲(chǔ)在客戶端的文本文件,內(nèi)容一般有賬號(hào)密碼等
session會(huì)話,從登錄網(wǎng)站到退出前一直生效,退出后失效,存儲(chǔ)在服務(wù)器上
token用于安全,可與任意接口關(guān)聯(lián),判斷是否合法有權(quán)限訪問(wèn)接口,可能在響應(yīng)頭也可能在響應(yīng)體,也不一定叫token
在右側(cè)請(qǐng)求或者響應(yīng)區(qū)點(diǎn)擊raw,再右鍵點(diǎn)擊word wrap可自動(dòng)換行數(shù)據(jù),防止數(shù)據(jù)過(guò)長(zhǎng)不便于查看
#斷點(diǎn)調(diào)試
斷點(diǎn)調(diào)試請(qǐng)求:發(fā)送請(qǐng)求前,點(diǎn)擊左下角第三個(gè)框點(diǎn)擊處向上的箭頭此時(shí)斷點(diǎn)打在請(qǐng)求上,再發(fā)送請(qǐng)求,切回fiddler,點(diǎn)擊run to completion ,繼續(xù)向服務(wù)器發(fā)送請(qǐng)求
斷點(diǎn)調(diào)試響應(yīng):發(fā)送請(qǐng)求前,點(diǎn)擊左下角第三個(gè)框點(diǎn)擊出向下的箭頭此時(shí)斷點(diǎn)打在響應(yīng)上,再發(fā)送請(qǐng)求,切回fiddler,點(diǎn)擊run to completion ,繼續(xù)將服務(wù)器返回的響應(yīng)向前端發(fā)送
#發(fā)送請(qǐng)求
有更好用postman,Jmeter
點(diǎn)擊composer-options-inspect sessiond點(diǎn)擊這個(gè)后可以在發(fā)送請(qǐng)求后自動(dòng)打開(kāi)inspectors窗口查看響應(yīng)結(jié)果
點(diǎn)擊parsed編輯發(fā)送給數(shù)據(jù)后點(diǎn)擊右側(cè)execute發(fā)送請(qǐng)求
右側(cè)histoery窗口顯示歷史調(diào)用的接口點(diǎn)擊可進(jìn)行查看并再次調(diào)用
##上傳文件
方法多數(shù)是post的,點(diǎn)擊右下角的upload file 上傳文件,可上傳多個(gè)文件
上傳多個(gè)文件時(shí)請(qǐng)求體里的name字段的值需要進(jìn)行修改不重復(fù),否則上傳成功的就只有一個(gè)文件
---------------------------acebdf13572468
Content-Disposition: form-data; name=“fieldNameHere”; filename=“filtershouce.doc”
Content-Type: application/msword
<@INCLUDE C:\Users\W^2\Desktop\filtershouce.doc@>
---------------------------acebdf13572468
Content-Disposition: form-data; name=“fieldNameHere”; filename=“jmeter.doc”
Content-Type: application/msword
<@INCLUDE C:\Users\W^2\Desktop\jmeter.doc@>
---------------------------acebdf13572468–
###上傳文件測(cè)試點(diǎn):
上傳文件類型限制
上傳文件大小限制
上傳文件速度快慢
上傳文件內(nèi)容是否正確
上傳文件如果被重命名了需要檢查上傳后的文件名
上傳文件路徑在數(shù)據(jù)庫(kù)中的顯示或者在存儲(chǔ)服務(wù)器上的位置是否正確
上傳文件后根據(jù)需求是否會(huì)對(duì)源文件產(chǎn)生影響
#關(guān)聯(lián)接口
一般上一個(gè)接口的數(shù)據(jù)后面的接口要用即為關(guān)聯(lián)接口,一般為cookie
然后將獲取的需要發(fā)送到下一個(gè)接口的字段及數(shù)據(jù)保存放在下一個(gè)接口進(jìn)行測(cè)試
#mockc模擬測(cè)試(相當(dāng)于提供假接口,為請(qǐng)求返回響應(yīng)數(shù)據(jù))
1.首先編寫(xiě)響應(yīng)的json文件,保存編碼格式為utf-8防止?jié)h字顯示亂碼
2.點(diǎn)擊右側(cè)auto responser -enable rules ,unmatchde request passthrough -addrule (或者從左側(cè)會(huì)話區(qū)拖取會(huì)話添加過(guò)來(lái))
再點(diǎn)擊rule editor的第二個(gè)下拉列表選擇find a file ,選擇對(duì)應(yīng)請(qǐng)求的mock響應(yīng)json文件,再點(diǎn)擊save
3.點(diǎn)擊composer去進(jìn)行測(cè)試
#抓包手機(jī)app測(cè)試
連接手機(jī)弱網(wǎng)測(cè)試
(1)首先保證手機(jī)和電腦連接在同一wifi
(2)設(shè)置fiddler
為了抓取https協(xié)議
tools-options-https-勾選capture…,勾選Decrypt…,勾選Ignore…
勾選Decrypt https traffic 時(shí)候可能會(huì)彈窗,一路確定yes
tools-options-connections-allow remote computers to connect
fiddler listens on port :8888(設(shè)置監(jiān)聽(tīng)端口,多少都可以別被占用就行)
(3)設(shè)置手機(jī)代理
先查看本機(jī)ip,win+r,輸入cmd,確定
彈出的命令行窗口輸入ipconfig,找到本機(jī)上網(wǎng)ip(IPv4地址)i
(4)設(shè)置手機(jī)wlan代理,點(diǎn)擊手機(jī)設(shè)置-wlan選擇自己連接的wifi長(zhǎng)按,彈出修改網(wǎng)絡(luò),再點(diǎn)擊代理,選擇手動(dòng),IP輸入上一步找到的本機(jī)ip,端口輸入步驟(2)中fiddler中設(shè)置的(一般設(shè)置為8888)
(5)手機(jī)安裝證書(shū)
手機(jī)打開(kāi)瀏覽器,輸入找到的代理中設(shè)置的本機(jī)ip:端口號(hào)打開(kāi)后會(huì)進(jìn)入證書(shū)下載
頁(yè)面,點(diǎn)擊 FiddlerRoot certificate 下載證書(shū),并進(jìn)行安裝,安裝完后就可進(jìn)行手機(jī)app抓包啦
問(wèn)題:手機(jī)設(shè)置代理后無(wú)法上網(wǎng),無(wú)法打開(kāi)證書(shū)下載頁(yè)面
原因:可能是fiddler證書(shū)過(guò)期,點(diǎn)擊fiddler-tools-https-actions-reset all certificates
打開(kāi)Fiddler,Rules->Performance->勾選 Simulate Modem Speeds
可在fiddler statics中查看各個(gè)請(qǐng)求發(fā)送及接受數(shù)據(jù)的大小及時(shí)間
#弱網(wǎng)測(cè)試
打開(kāi)Fiddler,Rules->Performance->勾選 Simulate Modem Speeds
設(shè)置弱網(wǎng)參數(shù)
點(diǎn)擊rules-customize rules
主要看這幾行代碼
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession[“request-trickle-delay”] = “300”;
// Delay receives by 150ms per KB downloaded.
oSession[“response-trickle-delay”] = “150”; }
首先判斷m_SimulateModem是否為true(是否開(kāi)啟Simulate Modem Speeds),也就是是否設(shè)置了弱網(wǎng)模式。默認(rèn)沒(méi)有開(kāi)啟, 當(dāng)勾選了Simulate Modem Speeds時(shí), var m_SimulateModem: boolean = false;會(huì)變成 var m_SimulateModem: boolean = true;
Delay sends by 300ms per KB uploaded:上傳1KB內(nèi)容需要300ms,轉(zhuǎn)化一下上傳速度:1Kb/0.3s = 3.3KB/s,即網(wǎng)絡(luò)上行速度只有3.3KB。
oSession[“request-trickle-delay”] = “300”;
Delay receives by 150ms per KB downloaded:下載1KB內(nèi)容需要150ms,轉(zhuǎn)化后的下載速度:1KB/0.15s=6.6KB/s,也就是說(shuō)網(wǎng)絡(luò)下載速度只有6.6KB。
oSession[“response-trickle-delay”] = “150”;
如果你想設(shè)置下載的速度為50KB/s,你則需要設(shè)置Delay 時(shí)間為 20ms。也可以限制上傳的速度,調(diào)整oSession[“response-trickle-delay”]的值即可。
弱網(wǎng)速率參數(shù)轉(zhuǎn)換公式:
1000/下載速度 = 需要delay的時(shí)間(毫秒) //比如50kb/s 需要delay200毫秒來(lái)接收數(shù)據(jù)。
2g3g4gwifi網(wǎng)絡(luò)參數(shù):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-795482.html
還可以自己修改腳本實(shí)現(xiàn)隨機(jī)延時(shí)量設(shè)置,使得網(wǎng)絡(luò)帶寬不是恒定為一個(gè)低速的值,而是會(huì)在一定范圍內(nèi)隨機(jī)變化,randInt(1,50)代表1-50中的一個(gè)隨機(jī)整數(shù),這樣就可以實(shí)現(xiàn)偶爾有延遲偶爾網(wǎng)絡(luò)又良好的情況(修改代碼如下)
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession[“request-trickle-delay”] = “”+randInt(1,500);
// Delay receives by 150ms per KB downloaded.
oSession[“response-trickle-delay”] = “”+randInt(1,500);
}
face5上文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-795482.html
到了這里,關(guān)于接口測(cè)試 fiddler,手機(jī)抓包,mock接口,手機(jī)設(shè)置代理后無(wú)法上網(wǎng),無(wú)法打開(kāi)證書(shū)下載頁(yè)面的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!