前言
前面我們使用的都是單個配置文件(test.json),這樣針對單個接口操作是沒問題的,當然我們也可以將所有接口都放在一個配置文件中,因爲配置文件的格式爲一個數組類型的 JSON 格式,數組的每一個元素是一個 request/response 的配對。還有一種方式我們設置全局配置文件,即在文件中引入其他配置文件的方式,最後啓動時,只針對全局配置文件啓動,比較方便
單文件配置
1)我們可以不定義request,訪問http://localhost:12306/時,Moco 就會直接將配置的 response 中的內容返回。
//test.json
[
{
"response": "welcome"
}
]
瀏覽器訪問:
2)因爲配置文件是一個數組格式,所以我們可以在一個配置文件中定義多個request/response對
//test.json
[
{
"request": {
"uri": "/register"
},
"response": {
"text": "register page"
}
},
{
"request": {
"uri": "/login"
},
"response": {
"text": "login page"
}
}
]
瀏覽器訪問:
全局配置文件
Moco 支持在全局的配置文件中引入其他配置文件,這樣就可以分服務定義配置文件,便於管理。
1)以上方註冊、登錄爲例,定義兩個json文件,分別爲register.json和login.json
//register.json
[
{
"request": {
"uri": "/register",
"method": "post",
"json": {
"name": "suner",
"phone": "18200000000",
"pwd": "123"
}
},
"response": {
"json": {
"msg": "register success",
"status": 200
}
}
}
]
//login.json
[
{
"request": {
"uri": "/login",
"method": "post",
"json": {
"username": "suner",
"pwd": "123"
}
},
"response": {
"json": {
"msg": "login success",
"status": 200
}
}
}
]
2)新建一個config.json文件,引用register.json和login.json
//config.json
[
{"include": "register.json"}, //include後面接的是以當前文件所在目錄的相對路徑,三個在同一目錄下,所以這裏直接是文件名
{"include": "login.json"}
]
3)啓動moco(這裏指定配置文件用-g,全局的意思,如截圖啓動成功)
簡單地啓動 moco 服務時是通過命令來啓動的:
【java -jar moco-runner-<version>-standalone.jar http -p 12306 -c test.json 】
切換到moco的jar包所在目錄,java -jar爲固定格式,執行時,<version>替換爲自己下載的版本即可,-p爲本地服務器指定端口(不可有衝突),-c 指定moco的配置文件。(此處test.json是單個文件配置用-c指定,如果是全局配置文件,即在全局配置文件中再引入其他配置文件,需要用-g來指定)
4)打開jmeter測試
register請求
register響應
login請求
login響應
在moco服務端也可以看到我們的參數(moco是動態獲取數據的,即我們改變配置文件後無需重啓moco)
至此,moco簡單的模擬接口請求與響應完成,有了這個可以很好爲我們提供數據,而無需一定要部署好接口服務器,也無需後臺(或者第三方接口)必須提供返回的接口數據,我們只需要知道返回的格式就可以moco我們想要的數據