一、moco簡(jiǎn)介
moco框架是github上的一個(gè)開源項(xiàng)目,可模擬http,https,Socket協(xié)議。
mock測(cè)試就是在測(cè)試過程中,對(duì)于某些不容易構(gòu)造 或者 不容易獲取的對(duì)象 又或者 開發(fā)還未完成開發(fā)的功能實(shí)現(xiàn),用一個(gè)虛擬的對(duì)象來創(chuàng)建以便測(cè)試的測(cè)試方法。
二、moco框架的下載及啟動(dòng)
下載:https://github.com/dreamhead/moco
這里我的moco目錄結(jié)構(gòu)是在同一文件夾下,這樣的:
啟動(dòng):JAVA -jar moco-runner-1.0.0-standalone.jar http -p 2222 -c get_data.json (啟動(dòng)協(xié)議為http的mock服務(wù),服務(wù)端口2222)
三、模擬GET請(qǐng)求
以下是模擬get請(qǐng)求已經(jīng)寫好的要模擬數(shù)據(jù),包括請(qǐng)求uri,method,參數(shù),響應(yīng)內(nèi)容
1 [ 2 { 3 "description":"不帶參數(shù)的get請(qǐng)求", 4 "request":{ 5 "uri":"/withGetDemo", 6 "method":"get" 7 }, 8 "response":{ 9 "text":"這是不帶參數(shù)的get請(qǐng)求"10 }11 },12 {13 "description":"帶參數(shù)的get請(qǐng)求,p1,p2分別的參數(shù)1,參數(shù)2,名稱可隨便起,個(gè)數(shù)也可隨便加",14 "request":{15 "uri":"/wihtGetDemobyParam",16 "method":"get",17 "queries":{18 "p1":"hh",19 "p2":"good"20 }21 },22 "response":{23 "text":"這是帶參數(shù)的get請(qǐng)求"24 }25 }26 ]
這里我用瀏覽器模擬第一個(gè)get請(qǐng)求,得到的響應(yīng)如下:
這里我用postman模擬第二個(gè)帶有請(qǐng)求參數(shù)的get請(qǐng)求,得到的響應(yīng)如下:
四、模擬POST請(qǐng)求
以下為post請(qǐng)求的幾種請(qǐng)求方式:
1、不帶參數(shù)的post請(qǐng)求
2、帶參數(shù)的post請(qǐng)求
3、帶cookie的post請(qǐng)求
4、帶header的post請(qǐng)求
模擬的返回響應(yīng)數(shù)據(jù)如下
1 [ 2 { 3 "description":"不帶參數(shù)的post請(qǐng)求", 4 "request":{ 5 "uri":"/postDemo", 6 "method":"post" 7 }, 8 "response":{ 9 "text":"這是不帶參數(shù)的post請(qǐng)求"10 }11 },12 {13 "description":"帶參數(shù)的post請(qǐng)求",14 "request":{15 "uri":"/postDemoWithParam",16 "method":"post",17 "forms":{18 "param1":"one",19 "param2":"two"20 }21 },22 "response":{23 "json":{"name":"han","age":30,"address":"beijing daxing"}24 }25 },26 {27 "description":"帶cookie的Post請(qǐng)求",28 "request":{29 "uri":"/postDemoWithCookies",30 "method":"post",31 "cookies":{32 "login":"true"33 },34 "json":{35 "name":"hi",36 "age":"3"37 }38 },39 "response":{40 "status":"200",41 "json":{42 "name":"success",43 "status":"1"44 }45 }46 },47 48 {49 "description":"帶header的post請(qǐng)求",50 "request":{51 "uri":"/withHeader",52 "method":"post",53 "headers":{54 "content-type":"Application/json"55 },56 "json":{57 "name":"xiaoming",58 "age":"18"59 }60 },61 "response":{62 "json":{63 "message":"success",64 "status":"1"65 }66 }67 }68 ]
以下為用postman模擬請(qǐng)求
1、不帶參數(shù)的post請(qǐng)求
2、帶參數(shù)的post請(qǐng)求(這里用的application/x-www-form-urlencoded)
3、帶cookie的post請(qǐng)求(雖然模擬請(qǐng)求中寫的是cookies,但是在請(qǐng)求的時(shí)候一定要寫成cookie,不要加“s”)
4、帶header的post請(qǐng)求
綜上,在mock數(shù)據(jù)時(shí)不妨試試moco來模擬請(qǐng)求數(shù)據(jù)。