Python MOCK SERVER moco模擬接口測(cè)試過程解析
MOCK的意義
1.接口測(cè)試等待開發(fā)完成接口開發(fā)之后再進(jìn)行,不符合測(cè)試的盡早測(cè)試的基本原則,我們可以利用MOCK工具來模擬接口,減少對(duì)開發(fā)的依賴,從而可使測(cè)試與開發(fā)同步進(jìn)行
2.接口存在很多依賴關(guān)系,現(xiàn)實(shí)中,由于一些客觀的原因,我們?cè)跍y(cè)試環(huán)境所要的測(cè)試條件可能無法滿足,此時(shí)就需要我們用MOCK工具來進(jìn)行模擬,如網(wǎng)上商城有個(gè)支付業(yè)務(wù),與工商銀行做對(duì)接,工商銀行只提供正式環(huán)境的對(duì)接,沒有測(cè)試環(huán)境支持,那我們?cè)跍y(cè)試環(huán)境測(cè)試就需要利用MOCK工具進(jìn)行模擬,完成支付業(yè)務(wù)流
mock工具-moco
官網(wǎng)地址
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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP設(shè)計(jì)模式中工廠模式深入詳解2. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法3. ASP.NET Core實(shí)現(xiàn)中間件的幾種方式4. 得到XML文檔大小的方法5. ASP常用日期格式化函數(shù) FormatDate()6. 利用CSS3新特性創(chuàng)建透明邊框三角7. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫(kù)的方法9. XML入門的常見問題(二)10. 如何在jsp界面中插入圖片
