日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
接口測試系列文章之使用flask輕松搭建mock服務

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

成都創(chuàng)新互聯(lián)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!為您提供做網站、網站制作、成都網頁設計、成都微信小程序、成都網站開發(fā)、成都網站制作、成都軟件開發(fā)、成都app軟件開發(fā)公司是成都本地專業(yè)的網站建設和網站設計公司,等你一起來見證!

Flask

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

Falsk的安裝

pip install flask

Flask構建一個web服務簡直太快了,7行代碼就可以搞定,helloword代碼如下:

 
 
 
 
  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def index():
  5.      return 'Hello World'
  6. if __name__ == '__main__':
  7.     app.run()

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

在瀏覽器中輸入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 服務。

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

 
 
 
 
  1. @app.route('/check/')
  2. def check_version(version=None):
  3.    if version=='1':
  4.        return 'version=1.0'
  5.     elif version=='2':
  6.        return 'version=2.0'
  7.     else:
  8.        return 'bad version'

 這里相當于是在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方法的請求,判斷具體方法,然后返回相應的值。

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

 
 
 
 
  1. from flask import Flask,request
  2. @app.route('/login',methods=['POST'])
  3. def login():
  4.     if request.method == 'POST':
  5.         val=str(request.data, encoding = "utf8")
  6.         print (val)
  7.         if val.find('admin')==-1:
  8.             return ' status 400,No such user! '
  9.         else:
  10.              return 'status 200,admin login'
  11.      else:
  12.            return ' status 403,login need post method'

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

輸出admin login

代碼解析如下:

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

request.method 獲取request的方法;

request.data獲取request中data的值;

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

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

Flask和Django的選擇

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

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

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

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

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

總結

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


文章題目:接口測試系列文章之使用flask輕松搭建mock服務
當前URL:http://m.5511xx.com/article/ccsddhi.html