激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - 編程技術(shù) - 接口測試系列文章之使用flask輕松搭建mock 服務(wù)

接口測試系列文章之使用flask輕松搭建mock 服務(wù)

2020-12-30 01:14今日頭條測試開發(fā)Kevin 編程技術(shù)

mock Server出現(xiàn)的原因是現(xiàn)今的業(yè)務(wù)系統(tǒng)很少有孤立存在的,它們或多或少需要使用兄弟團隊或是其他公司提供的服務(wù),這給我們的聯(lián)調(diào)和測試造成了麻煩。于是就有了解決方案——搭建一個臨時的server,模擬那些服務(wù),提供數(shù)據(jù)進行

做過接口測試的同學(xué)一定聽說過mock Server,大家會覺得其很神秘,很高大上!mock Server出現(xiàn)的原因是現(xiàn)今的業(yè)務(wù)系統(tǒng)很少有孤立存在的,它們或多或少需要使用兄弟團隊或是其他公司提供的服務(wù),這給我們的聯(lián)調(diào)和測試造成了麻煩。于是就有了解決方案——搭建一個臨時的server,模擬那些服務(wù),提供數(shù)據(jù)進行聯(lián)調(diào)和測試。下圖很好的解釋了什么是Mock server

接口測試系列文章之使用flask輕松搭建mock 服務(wù)

Flask

Flask是一個Python編寫的Web 微框架,讓我們可以使用Python語言快速實現(xiàn)一個網(wǎng)站或Web服務(wù)。

接口測試系列文章之使用flask輕松搭建mock 服務(wù)

Falsk的安裝

pip install flask

Flask構(gòu)建一個web服務(wù)簡直太快了,7行代碼就可以搞定,helloword代碼如下:

from flask import Flask 

 

app = Flask(__name__) 

 

@app.route('/'

 

def index(): 

 

     return 'Hello World' 

 

if __name__ == '__main__'

 

    app.run() 

然后在ide中運行這個py文件,顯示如下:

接口測試系列文章之使用flask輕松搭建mock 服務(wù)

在瀏覽器中輸入http://127.0.0.1:5000/ 可以看到瀏覽器中顯示Hello World

代碼分析如下:

@app.route('/')說明了你要訪問的url,'/'代表根目錄;

return 'Hello World'代表在瀏覽器中顯示Hello World,即請求http://127.0.0.1:5000/ 的返回值;

app.run()表示啟動mock 服務(wù)。

如果我們需要構(gòu)建帶參數(shù)的get方法可以使用如下代碼:

@app.route('/check/<version>'

 

def check_version(version=None): 

 

   if version=='1'

 

       return 'version=1.0' 

 

    elif version=='2'

 

       return 'version=2.0' 

 

    else

 

       return 'bad version' 

這里相當(dāng)于是在url中輸入的參數(shù)

在瀏覽器輸入127.0.0.1:5000/check/2 會輸出version=2.0

在瀏覽器輸入127.0.0.1:5000/check/1會輸出version=1.0

在瀏覽器輸入127.0.0.1:5000/check/111會輸出bad version,

這個實例很容易模擬了我們需要的get方法的請求,判斷具體方法,然后返回相應(yīng)的值。

如果我們需要創(chuàng)建post方法可以使用如下代碼:

from flask import Flask,request 

 

@app.route('/login',methods=['POST']) 

 

def login(): 

 

    if request.method == 'POST'

 

        val=str(request.data, encoding = "utf8"

 

        print (val) 

 

        if val.find('admin')==-1: 

 

            return ' status 400,No such user! ' 

 

        else

 

             return 'status 200,admin login' 

 

     else

 

           return ' status 403,login need post method' 

通過RESTclient(Firefox插件)構(gòu)建請求如下:

接口測試系列文章之使用flask輕松搭建mock 服務(wù)

輸出admin login

代碼解析如下:

methods=['POST'] 限定了可以使用的http方法,只能使POST;

request.method 獲取request的方法;

request.data獲取request中data的值;

str(request.data, encoding = "utf8") 把request.data的值從bytes類型轉(zhuǎn)換到str類型。

好了,通過上面的實例我們就可以很輕松的模擬POST或者GET方法來構(gòu)建Mock Server了!

Flask和Django的選擇

Django也是python web開發(fā)的主流框架,他與flask相比區(qū)別如下:

Flask提供了靈活性,簡單性和細粒度的控制。

Flask不受限制,讓你決定如何實現(xiàn)應(yīng)用程序。

Django為我們的Web應(yīng)用程序開發(fā)提供了管理面板,數(shù)據(jù)庫界面,目錄結(jié)構(gòu)和ORM的全方位體驗。

如果我們只需要開發(fā)一個輕量級網(wǎng)站或者特定的微服務(wù)(比如mock server),我們根本用不上Django自帶的大而全的組件和功能,這時我們應(yīng)該毫不猶豫地選擇Flask;如果我們要開發(fā)包含各種功能的傳統(tǒng)企業(yè)級網(wǎng)站(比如電商,新聞內(nèi)容管理,社交網(wǎng)站,辦公OA),使用Django能幫我們節(jié)省不少尋找或開發(fā)第三方擴展的精力。

總結(jié)

關(guān)于mock server在接口測試的面試中,通常都是終極考核,如果你能了解相關(guān)內(nèi)容,并能夠搭建mock server,那么你的技術(shù)面試考核90%是會通過的!

原文地址:https://www.toutiao.com/i6911184010098082311/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狠狠操操 | 国产精品视频在 | 国产精品区一区二区三区 | 国产激爽大片在线播放 | 最新在线黄色网址 | 欧美日韩国产中文字幕 | 成人毛片网站 | 2级毛片 | 欧美三级一级 | 第四色成人网 | 欧美精品电影一区 | 欧美性受xxxx人人本视频 | 久久精品视频7 | 日韩黄色免费电影 | 久久免费观看一级毛片 | 日产精品久久久久久久 | 国产精品久久久久国产精品三级 | av老司机久久 | 青久草视频 | 91成人一区二区三区 | 日本不卡一区二区三区在线观看 | 九九热这里只有精品8 | 成人国产精品一区二区毛片在线 | h色网站在线观看 | 亚洲片在线观看 | 青青草华人在线 | 啊哈不要啊 | 久久久中 | 国产精品观看在线亚洲人成网 | 久久99久久99精品 | 一区国产精品 | 久久激情小视频 | 久久综合九色 | 欧美成人精品一区 | 国产欧美亚洲精品 | 日日鲁夜夜视频热线播放 | 国产91精品久久久久久 | 高清av免费| 黄色男女视频 | 成人永久在线 | av在线等 |