python介面測試之mock 九

2022-06-13 20:00:16 字數 2579 閱讀 8924

在中對mock-server已經做了

初步的介紹,今天這裡繼續接著之前的介紹進行,我們先看之前的mock-server部分,之前編寫

了乙個登入的mock,具體json檔案見如下的內容:

[

},"response":}}]

檢視上面的內容,我們可以看出,這樣的方式並不是那麼的友好,在ui或者介面的自動化測試中,我們知道在

tdd的模式中,對資料進行分離,這樣也是為了維護的方便,這樣的目的是為了後期自動化測試用例的擴充套件性,

和它的易維護性,那麼下來我們來對上面的json檔案進行修改下,對response部分的資料進行分離下,把它

放在乙個檔案中,這樣就可以分離了出來,我們把response的內容從login.json分離到login_response.json

切記login.json與login_response.json務必保持在同乙個目錄下,見login.json的內容:

[

},"response":

}]

見login_response.json檔案的內容:

執行login.json檔案後,訪問該介面,看是否ok,見執行login.json檔案的命令:

使用postman檢視該介面,看是否ok,見如下的截圖:

下面我們再進行乙個業務,就是輸入乙個車牌號,查詢該車牌號的顯示時長,和它的停車費用,直接在loginjson

檔案中完善,見完善後的內容:

[

},"response":

},},

"response":

}]

見parkinside.json檔案的內容:

,  "

parking time long

":"20小時18分鐘",

"parking fee

":"20$

"}

見查詢停車時長的介面請求的結果,見如下的postman截圖:

下面我們通過python語言,來對如上的二個介面進行實戰的操作,切記parkinside的介面是在登入之後才可以操作的業務,未登入操作該業務,返回502無效的

token,見實現的**:

'''驗證登入的介面

'''data=

r=requests.post(self.url+url,json=data)

self.assertequal(r.status_code,200)

self.assertequal(r.json()[

'username

'],'

wuya')

def gettoken(self,url='

/login'):

'''登入成功後獲取token

'''data=

r=requests.post(self.url+url,json=data)

return r.json()['

token']

def test_parkingside(self,url='

/parkinside'):

'''驗證查詢停車時長介面

'''data=

r=requests.post(self.url+url,json=data)

self.assertequal(r.status_code,200)

self.assertequal(r.json()[

'parking time long

'],u'

20小時18分鐘')

python介面測試 mock

1 什麼叫mock?答 模擬資料 假資料,不是介面真正返回的資料。2 為什麼要引入mock測試?有兩種場景需要引入 1 介面還未開發完成,但是測試人員需要介入介面測試 2 介面呼叫不方便,需要呼叫第三方介面 3 方式 1 客戶端mock 1 安裝第三方庫,pip install mock 2 建構函...

Python之mock介面開發

import flask import json server flask.flask name name 是指把當前python檔案當作乙個服務 server.route api login methods post get 預設不傳methods是get請求 deflogin username ...

介面測試 mock例項

1.找到你要替換的物件,這個物件可以是乙個類,或者是乙個函式,或者是乙個類例項。2.然後例項化mock類得到乙個mock物件,並且設定這個mock物件的行為,比如被呼叫的時候返回什麼值,被訪問成員的時候返回什麼值等。3.使用這個mock物件替換掉我們想替換的物件,也就是步驟1中確定的物件。4.之後就...