1. 程式人生 > 程式設計 >Python MOCK SERVER moco模擬介面測試過程解析

Python MOCK SERVER moco模擬介面測試過程解析

MOCK的意義

1.介面測試等待開發完成介面開發之後再進行,不符合測試的儘早測試的基本原則,我們可以利用MOCK工具來模擬介面,減少對開發的依賴,從而可使測試與開發同步進行

2.介面存在很多依賴關係,現實中,由於一些客觀的原因,我們在測試環境所要的測試條件可能無法滿足,此時就需要我們用MOCK工具來進行模擬,如網上商城有個支付業務,與工商銀行做對接,工商銀行只提供正式環境的對接,沒有測試環境支援,那我們在測試環境測試就需要利用MOCK工具進行模擬,完成支付業務流

mock工具-moco

官網地址

1.安裝配置jdk1.8

2.下載moco jar包:moco-runner-0.10.0-standalone.jar

3.新建配置config.json,在jar包所在目錄輸入cmd,cmd 輸入:java -jar moco-runner-0.10.0-standalone.jar http -p 9999 -c config.json,啟動moco mock

jar下輸入cmd,如下圖:

Python MOCK SERVER moco模擬介面測試過程解析

成功啟動mock,如下圖

Python MOCK SERVER moco模擬介面測試過程解析

config.json 內容:

[
 {
  "request" :
   {
    "method": "get","uri" : "/1"
   },"response" :
   {
    "text" : "mock mo ren"
   }
 }
]

4.瀏覽器輸入http://127.0.0.1:9999/1,列印“mock mo ren”,說明:9999為執行配置的埠,/1為配置檔案請求的url,“mock mo ren”為訪問url的響應的內容

5.一般mock啟動不要用https,https需要證書的,配置起來麻煩

模擬-get

(confing.json配置檔案,duocs.json有兩條記錄,dancs.json有一條記錄),執行http://127.0.0.1:9999/cs/duo 顯示duocs.json兩條記錄;

執行http://127.0.0.1:9999/cs/dan 顯示 dancs.json一條記錄

執行http://127.0.0.1:9999/temp?zw=9 返回:“返回引數中文9”,其中zw=9 ,zw為動態引數,注意返回的值是text型別,目前moco的josn格式不支援中文,text格式可以返回中文,但是意義不大。

如config.json 內容:"text" : {
"template": "返回引數中文${req.queries['zw']}"
}

config.json 內容:

[
 {
  "request" :
   {
    "method": "get","uri" : "/cs/duo"
   },"response" :
   {
    "file" : "duocs.json"
   }
 },{
  "request" :
   {
    "method": "get","uri" : "/cs/dan"
   },"response" :
   {
    "file" : "dancs.json"
   }
 },"uri" : "/temp"
   },"response" :
   {
    "text" : {
     "template": "返回引數中文${req.queries['zw']}"
    }
   }
 }
]

dancs.json 內容:

{
	"name": "yiqiao","age": "30"
}

duocs.json 內容:

[
 {
  "name": "zhangshan","age": "28"
 },{
  "name": "lishi","age": "38"
 }
]

模擬-post

config.json 內容:

[
 {
  "request" :
   {
    "method": "post","uri" : "/posts","file": {
     "json": "requestcs.json"
    }
   },"response" :
  {
   "json": {"success": "true"}
  }
 },{
  "request" :
   {
    "method": "put","uri" : "/puts","response" :
  {
   "json": {"success": "puttrue"}
  }
 },{
  "request" :
   {
    "method": "delete","uri" : "/deletes"
   },"response" :
  {
   "json": {"success": "deletetrue"}
  }
 }
]

requestcs.json 入參檔案內容:

{
	"usename": "test","password" : "test"
}

1.訪問post:結合配置檔案config.json 內容:url:/posts;入參格式為:"json": "requestcs.json",返回json格式值 "success": "true",如下圖postman操作:選擇body-raw,選擇josn(application/josn),輸入URL:http://127.0.0.1:9999/posts,返回 "success": "true"

Python MOCK SERVER moco模擬介面測試過程解析

2.訪問put

Python MOCK SERVER moco模擬介面測試過程解析

3.訪問delete

Python MOCK SERVER moco模擬介面測試過程解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。