解決介面測試中token失效問題

2021-08-20 07:28:43 字數 1351 閱讀 4560

介面測試中我們經常是從登入介面獲取token,其他的介面在header中傳入新的token才可以正確傳送請求。所以在做介面自動化測試時,我們不能將token寫死,而是應該每次請求就重新獲取新的token,以保證介面請求可以正常得到正確的返回值。

我的解決思路是:在每次傳送帶token的請求界面前,先呼叫登入介面獲取token,然後將該值更新到需要測試的介面標頭檔案中。

根據post請求的兩種最常用方式分別進行以下處理:

1.我先通過登入介面獲取到token,將此時獲取的token設定為全域性變數(set global variable  $)

2.再來看看form格式提交資料的格式,header是這樣設定的,除了token的值,其他資料從excel檔案中讀取。

3.如上所示,第一步中獲取到的token便賦值給了header中的token,接著傳給post request,成功發起post請求。

這樣就不需要每次傳送請求時手動去更新token,也可以避免token失效的問題。

1.仍然是先通過登入介面獲取到token,設定為全域性變數

2.先來看下json格式是如何提交資料的,所有的入參使用json串的方式傳給data

json串格式的資料,包含header和body引數,token在header中,如:

,"body":}

因此我認為使用第一種方式不太好操作,則考慮直接寫乙個替換token的指令碼

# -*- coding: utf-8 -*-

import json

def update_token(data,token):

a=json.loads(data)

a['header']['token']=token

return a

pass

if __name__ == "__main__":

pass

這裡需要注意的地方是,我存放在excel中的data雖然看起來是乙個json串的格式,實際上傳給update_token時是乙個字串,需要進行格式轉換,才能成功提取到header中的token,否則就會報錯。

json.loads()用於將

str型別的資料轉成

dict, json.dumps()用於將dict型別的資料轉成str

3.將updattoken.py以library匯入到ride中,即可實現data資料的token更新,然後再傳送post請求,就可以了。

介面測試如何確定token失效 加密介面如何測試?

隨著網際網路技術的發展,服務安全性和資料安全性變的越來越重要,提供介面服務的系統往往會應用各種加密技術,保證介面的安全呼叫,如何應用工具來實現加密介面測試成為一項必要技能。在講解如何用jmeter實現介面安全性測試之前,先來了解一下常見的加密演算法,測試同學可根據不同的加密演算法型別和程式猿 程式猿...

jmeter介面測試 獲取token

jmeter進行介面測試 提取token 專案一般都需要進行登陸才能進行後續的操作,登陸有時傳送的請求會帶有token,因此,需要使用後置處理器中的正規表示式提取token,然後用beanshell設定成全域性變數。1 在登陸請求中,新增乙個正規表示式提取器,獲取token,其正規表示式為 toke...

解決IDEA 2020 3 lombok失效問題

本地安裝的是idea2020.3程式設計客棧 社群版,使用lombok外掛程式失效,編譯報錯,you aren t using a compiler supported by lombok,so lombok will not work and has been disabled.在網上搜尋,最終找...