Python MOCK SERVER moco模擬接口測試過程解析
MOCK的意義
1.接口測試等待開發(fā)完成接口開發(fā)之后再進(jìn)行,不符合測試的盡早測試的基本原則,我們可以利用MOCK工具來模擬接口,減少對(duì)開發(fā)的依賴,從而可使測試與開發(fā)同步進(jìn)行
2.接口存在很多依賴關(guān)系,現(xiàn)實(shí)中,由于一些客觀的原因,我們?cè)跍y試環(huán)境所要的測試條件可能無法滿足,此時(shí)就需要我們用MOCK工具來進(jìn)行模擬,如網(wǎng)上商城有個(gè)支付業(yè)務(wù),與工商銀行做對(duì)接,工商銀行只提供正式環(huán)境的對(duì)接,沒有測試環(huán)境支持,那我們?cè)跍y試環(huán)境測試就需要利用MOCK工具進(jìn)行模擬,完成支付業(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,啟動(dòng)moco mock
jar下輸入cmd,如下圖:

成功啟動(dòng)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為運(yùn)行配置的端口,/1為配置文件請(qǐng)求的url,“mock mo ren”為訪問url的響應(yīng)的內(nèi)容
5.一般mock啟動(dòng)不要用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為動(dòng)態(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),輸入U(xiǎn)RL:http://127.0.0.1:9999/posts,返回 "success": "true"

2.訪問put

3.訪問delete

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)身份證實(shí)名認(rèn)證的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)身份證實(shí)名認(rèn)證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Django DRF APIView源碼運(yùn)行流程詳解
這篇文章主要介紹了Django DRF APIView源碼運(yùn)行流程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
在VS2017中用C#調(diào)用python腳本的實(shí)現(xiàn)
這篇文章主要介紹了在VS2017中用C#調(diào)用python腳本的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python中的pydot庫實(shí)現(xiàn)復(fù)雜圖形使用教程
pydot是一個(gè)用于生成和操作DOT圖文件的Python庫,封裝了Graphviz的功能,適用于可視化圖結(jié)構(gòu),它可以生成依賴圖、流程圖、樹形圖等,并支持復(fù)雜的圖形樣式、網(wǎng)絡(luò)數(shù)據(jù)集成、循環(huán)圖、輸出其他格式、處理大規(guī)模圖數(shù)據(jù)的等等2025-01-01
在Python中等距取出一個(gè)數(shù)組其中n個(gè)數(shù)的實(shí)現(xiàn)方式
今天小編就為大家分享一篇在Python中等距取出一個(gè)數(shù)組其中n個(gè)數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python實(shí)現(xiàn)的生成word文檔功能示例
這篇文章主要介紹了python實(shí)現(xiàn)的生成word文檔功能,涉及Python數(shù)據(jù)查詢、遍歷及word文檔生成相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
python多進(jìn)程并發(fā)的實(shí)現(xiàn)示例
python中的多線程無法利用多核優(yōu)勢,如果想要充分地使用多核CPU的資源,在python中大部分情況需要使用多進(jìn)程,本文主要介紹了python多進(jìn)程并發(fā)的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-02-02

