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,如下圖:
成功啟動mock,如下圖
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"
2.訪問put
3.訪問delete
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。