Python MOCK SERVER moco模擬接口測試過程解析
MOCK的意義
1.接口測試等待開發(fā)完成接口開發(fā)之后再進行,不符合測試的盡早測試的基本原則,我們可以利用MOCK工具來模擬接口,減少對開發(fā)的依賴,從而可使測試與開發(fā)同步進行
2.接口存在很多依賴關(guān)系,現(xiàn)實中,由于一些客觀的原因,我們在測試環(huán)境所要的測試條件可能無法滿足,此時就需要我們用MOCK工具來進行模擬,如網(wǎng)上商城有個支付業(yè)務(wù),與工商銀行做對接,工商銀行只提供正式環(huán)境的對接,沒有測試環(huán)境支持,那我們在測試環(huán)境測試就需要利用MOCK工具進行模擬,完成支付業(yè)務(wù)流
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 內(nèi)容:
[ { "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的響應(yīng)的內(nèi)容
5.一般mock啟動不要用https,https需要證書的,配置起來麻煩
模擬-get
(confing.json配置文件,duocs.json有兩條記錄,dancs.json有一條記錄),執(zhí)行http://127.0.0.1:9999/cs/duo 顯示duocs.json兩條記錄;
執(zhí)行http://127.0.0.1:9999/cs/dan 顯示 dancs.json一條記錄
執(zhí)行http://127.0.0.1:9999/temp?zw=9 返回:“返回參數(shù)中文9”,其中zw=9 ,zw為動態(tài)參數(shù),注意返回的值是text類型,目前moco的josn格式不支持中文,text格式可以返回中文,但是意義不大。
如config.json 內(nèi)容:"text" : {
"template": "返回參數(shù)中文${req.queries['zw']}"
}
config.json 內(nèi)容:
[ { "request" : { "method": "get", "uri" : "/cs/duo" }, "response" : { "file" : "duocs.json" } }, { "request" : { "method": "get", "uri" : "/cs/dan" }, "response" : { "file" : "dancs.json" } }, { "request" : { "method": "get", "uri" : "/temp" }, "response" : { "text" : { "template": "返回參數(shù)中文${req.queries['zw']}" } } } ]
dancs.json 內(nèi)容:
{ "name": "yiqiao", "age": "30" }
duocs.json 內(nèi)容:
[ { "name": "zhangshan", "age": "28" }, { "name": "lishi", "age": "38" } ]
模擬-post
config.json 內(nèi)容:
[ { "request" : { "method": "post", "uri" : "/posts", "file": { "json": "requestcs.json" } }, "response" : { "json": {"success": "true"} } }, { "request" : { "method": "put", "uri" : "/puts", "file": { "json": "requestcs.json" } }, "response" : { "json": {"success": "puttrue"} } }, { "request" : { "method": "delete", "uri" : "/deletes" }, "response" : { "json": {"success": "deletetrue"} } } ]
requestcs.json 入?yún)⑽募?nèi)容:
{ "usename": "test", "password" : "test" }
1.訪問post:結(jié)合配置文件config.json 內(nèi)容:url:/posts;入?yún)⒏袷綖椋?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
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用difflib標準庫實現(xiàn)查找文本間的差異
在文本處理和比較中,查找文本之間的差異是一項常見的任務(wù),本文將詳細介紹如何使用difflib模塊來查找文本之間的差異,包括單行和多行文本的比較、生成差異報告,需要的可以參考下2024-03-03PyTorch變分自編碼器的構(gòu)建與應(yīng)用小結(jié)
變分自編碼器是一種強大的深度學(xué)習(xí)模型,用于學(xué)習(xí)數(shù)據(jù)的潛在表示并能生成新的數(shù)據(jù)點,使用PyTorch實現(xiàn)VAE不僅可以加深對生成模型的理解,還可以利用其靈活性進行各種實驗,這篇文章主要介紹了PyTorch變分自編碼器的構(gòu)建與應(yīng)用,需要的朋友可以參考下2024-07-07Python中正則表達式對單個字符,多個字符和匹配邊界等使用
這篇文章主要介紹了Python中正則表達式對單個字符,多個字符和匹配邊界等使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python實現(xiàn)發(fā)送email的幾種常用方法
這篇文章主要介紹了Python實現(xiàn)發(fā)送email的幾種常用方法,非常實用,需要的朋友可以參考下2014-08-08python 3.74 運行import numpy as np 報錯lib\site-packages\numpy\_
這篇文章主要介紹了python 3.74 運行import numpy as np 報錯lib\site-packages\numpy\__init__.py,原來需要更新一下numpy即可2019-10-10