moco框架應用一步到位
1. Moco部署
5.1 執行環境
ü Java執行環境
ü moco-runner-0.11.0-standalone.jar
jar包:
Windows Java環境配置
略
5.2 模擬一個HTTP的post請求
Json檔案說明
Moco服務啟動會讀取對應的JSON檔案資訊,這裡我們先一起看一下我本地的JSON檔案
.
根據上圖,我們可以觀察到
第一層結構中由下面三個物件組成
ü description : 自定義的備註資訊
ü request : 請求資訊集合
ü response : 回執資訊集合
第二層結構中:
ü Request 集合包含 Uri , method , headers , json
Uri : 自定義的訪問地址;按照上面配置,訪問啟動後,我們可以直接使用http://localhost:{Port}後續啟動自定義/ api/1.0/internalPerson 進行訪問。
Method:請求方法; 如 get , post 等。
Headers: 請求頭資訊 集合; 這裡我們定義了連線型別為json格式,根據專案需要可增加其他欄位資訊,如 Cookie ,
JSON:請求協議boby;根據專案協議進行配置,注意不得含中文。
ü Response集合包含 JSON
JSON:回執資訊boby;根據專案協議進行配置。
例項檔案:
啟動moco服務
將jar包與JSON檔案在某個目錄資料夾內
shift+滑鼠右鍵點選所在目錄空白處,點選“在此開啟命令視窗”
命令視窗輸入啟動命令
java -jar ./moco-runner-0.11.0-standalone.jar http -p 8821 -c testdome22.json
說明:
ü HTTP :當前使用傳輸協議
ü -p 8821:執行使用的自定義埠號
ü -c testdome22.json:執行服務讀取的指定JSON檔案
使用命令後,可以看到;服務在8821埠正常啟動
驗證介面協議
這裡我們使用Postman來驗證;Postman軟體包見附件
開啟Postman,根據上述JSON檔案說明資訊,填寫如下:
請求方式選擇post,URL 輸入 http://本地IP:{$啟動埠號}{ JSON檔案中的Uri }
由於是JSON傳輸,這裡headers裡面設定傳輸格式為application/json
Boby選項中選擇raw,並將格式選擇為json; 內容為JSON檔案說明中"request"集合物件的JSON內容
配置完成後,點選send;返回請求後的JSON資訊。返回的資訊為JSON檔案中"response"集合物件的JSON
這裡模擬向後臺傳送的post請求回執就完成了。方便快捷吧!
5.3 模擬一個HTTP的get請求
操作步驟同模擬一個HTTP的post請求,只是在JSON配置檔案中,"method"方法寫成”get”即可。
5.4 模擬一個HTTPS的post請求
證書製作
HTTPS在傳輸資料之前需要客戶端(瀏覽器)與服務端(網站)之間進行一次握手,在握手過程中將確立雙方加密傳輸資料的密碼資訊。此時這裡需要證書作為公鑰,我們先製作一個證書。
進入本地JAVA_HOME路徑的bin目錄下,shift+右鍵選擇“在此開啟命令視窗”
使用jdk自帶的證書工具生成證書,輸入以下命令
keytool -genkey -alias zhwei -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore e:/zhengshu.keystore
storepass 123456
說明:
ü -alias zhwei (別名)
ü -keypass 123456(別名密碼)
ü -keyalg RSA(生證書的演算法名稱,RSA是一種非對稱加密演算法)
ü -keysize 1024(金鑰長度,證書大小)
ü -validity 365(證書有效期,天單位)
ü -keystore e:/zhengshu.keystore (指定生成證書的位置和證書名稱)
ü -storepass 123456(獲取keystore資訊的密碼)
到E盤下可以看到生成的keystore檔案
JSON檔案說明
無需任何配置,可直接使用Json檔案說明中的JSON檔案
啟動moco服務
將證書拷貝到JSON檔案,jar包所在的目錄下,命令視窗執行以下命令
java -jar ./moco-runner-0.11.0-standalone.jar https -p 443 -c startup2.json --https zhengshu.keystore --cert 123456 --keystore 123456
說明:
https :協議改為了HTTPS
-p 443:HTTPS預設請求埠號
-c startup2.json :指定讀取的JSON檔案
--https zhengshu.keystore : 指定讀取的證書路徑和證書名
--cert 123456 :祕鑰的密碼
--keystore 123456:指定祕鑰庫的密碼
Moco服務在443埠正常啟動
驗證介面協議
由於在是採用的之前http post請求的JSON檔案,這裡我們在Postman做下修改
這裡我們才用HTTPS請求,請求埠改為443,其他內容參考驗證介面協議中的內容,不做修改。Send以後我們觀察返回值
命令視窗列印資訊
5.5 模擬一個HTTPS的get請求
操作步驟同模擬一個HTTPS的post請求,只是在JSON配置檔案中,"method"方法寫成”get”即可。
2. 小結
目前調研的內容已經滿足常規的應用場景,後續學習到新的知識點會不斷更新補充,歡迎各種同僚在使用中針對出現的問題進行積極反饋,便於整理加入到FAQ章節中。
3. FAQ
6.1Moco互動過程中字串亂碼問題答疑
啟動命令中加入-Dfile.encoding=UTF-8 進行強制轉換
如:
java -jar -Dfile.encoding=UTF-8 ./moco-runner-0.11.0-standalone.jar http -p 8821 -c startup2.json
圖1為gbk格式
圖2為強制轉換後
4. 參考文件
https://blog.csdn.net/ibelieve1974/article/details/70142176
https://www.cnblogs.com/hanschen-coder/p/6528829.html
https://blog.csdn.net/lluozh2015/article/details/79133892
https://www.cnblogs.com/hua198/p/5226219.html