測試基礎-11-Moco配置文件啓動並測試moco接口

前言

前面我們使用的都是單個配置文件(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我們想要的數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章