成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 前端
mock Server出現的原因是現今的業務系統很少有孤立存在的,它們或多或少需要使用兄弟團隊或是其他公司提供的服務,這給我們的聯調和測試造成了麻煩。于是就有了解決方案——搭建一個臨時的server,模擬那些服務,提供數據進行聯調和測試。

 [[360833]]

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

接口測試系列文章5——使用flask輕松搭建mock 服務

Flask

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

[[360834]]

Falsk的安裝

pip install flask

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

  1. from flask import Flask 
  2.  
  3. app = Flask(__name__) 
  4.  
  5. @app.route('/'
  6.  
  7. def index(): 
  8.  
  9.      return 'Hello World' 
  10.  
  11. if __name__ == '__main__'
  12.  
  13.     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 服務。

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

  1. @app.route('/check/<version>'
  2.  
  3. def check_version(version=None): 
  4.  
  5.    if version=='1'
  6.  
  7.        return 'version=1.0' 
  8.  
  9.     elif version=='2'
  10.  
  11.        return 'version=2.0' 
  12.  
  13.     else
  14.  
  15.        return 'bad version' 

 這里相當于是在url中輸入的參數

在瀏覽器輸入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方法的請求,判斷具體方法,然后返回相應的值。

如果我們需要創建post方法可以使用如下代碼:

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

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

接口測試系列文章5——使用flask輕松搭建mock 服務

輸出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開發的主流框架,他與flask相比區別如下:

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

Flask不受限制,讓你決定如何實現應用程序。

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

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

總結

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

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2020-12-08 12:24:55

接口測試Interface

2020-12-14 11:26:25

接口測試python

2019-05-14 13:59:52

Flask服務器部署

2022-10-19 13:11:35

2019-10-23 08:00:00

Flask機器學習人工智能

2020-08-23 12:27:39

測試接口技巧

2024-07-29 12:12:59

2011-07-22 09:29:54

裸線測試

2016-11-08 10:24:37

FlaskPython插件

2009-07-07 12:35:50

刀片服務器服務器虛擬化

2009-07-07 12:50:58

刀片服務器服務器DELL

2009-05-20 14:43:38

ibmdwEasyMock測試

2020-05-27 08:05:33

MybatisMapper接口

2015-10-08 14:03:01

TCP網絡協議

2022-08-14 16:11:23

Python自動化測試數據

2021-05-18 09:01:09

Windows操作系統NodeJs服務器

2017-03-23 16:02:10

Mock技術單元測試

2024-03-04 19:07:58

OpenAI開發

2010-05-28 10:10:49

2010-06-02 19:01:38

搭建SVN服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久二区 | 免费一区 | 一区二区三区四区免费观看 | 国产一区二区三区四区五区3d | 中文精品视频 | 国产激情一区二区三区 | 免费网站国产 | a毛片 | 日韩中文字幕在线 | 免费看黄色国产 | 国产在线一区观看 | 国产乱精品一区二区三区 | 亚洲欧洲中文 | 亚洲欧美少妇 | 精品在线播放 | 久久久久久久久中文字幕 | 成人毛片视频免费 | 最新中文字幕在线 | 国产一区二区三区免费视频 | 日韩免费视频 | 日本一区视频在线观看 | 国产精品爱久久久久久久 | 精品日韩 | 日韩视频在线播放 | 一区二区免费在线 | 国产精品96久久久久久 | 国产精品美女久久久久久免费 | 国产久 | 亚洲免费视频播放 | 中文字幕一区二区三区不卡在线 | 国产一级免费视频 | 天天爽综合网 | 亚洲精品福利视频 | 日本精品视频一区二区 | 影音先锋男 | 精品综合在线 | 激情黄色在线观看 | 亚洲欧美日韩在线不卡 | 色综合久久天天综合网 | 91爱爱·com| 国产精品久久一区二区三区 |