1. 程式人生 > >moco框架應用一步到位

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

https://www.jianshu.com/p/9846e30081e1

https://blog.csdn.net/dwyane__wade/article/details/80350548