怎樣從0開始搭建乙個測試框架 11 支援方法

2021-08-15 06:55:06 字數 1463 閱讀 9132

框架到這裡已經很不錯了,後面就需要各位自己去完善了。比如有時候請求需要加密、簽名,還有一些支援方法,可以在utils中建個support.py放進去。

在utils中建立乙個support.py檔案,裡面可以放需要的一些支援方法,我們示例乙個加密和簽名的方法:

"""一些支援方法,比如加密"""

import hashlib

from utils.log import logger

class

encrypterror

(exception):

pass

defsign

(sign_dict, private_key=none, encrypt_way='md5'):

"""傳入待簽名的字典,返回簽名後字串

1.字典排序

2.拼接,用&連線,最後拼接上私鑰

3.md5加密"""

dict_keys = sign_dict.keys()

dict_keys.sort()

string = ''

for key in dict_keys:

if sign_dict[key] is

none:

pass

else:

string += '=&'.format(key, sign_dict[key])

string = string[0:len(string) - 1]

string = string.replace(' ', '')

return encrypt(string, salt=private_key, encrypt_way=encrypt_way)

defencrypt

(string, salt='', encrypt_way='md5'):

u"""根據輸入的string與加密鹽,按照encrypt方式進行加密,並返回加密後的字串"""

string += salt

if encrypt_way.upper() == 'md5':

hash_string = hashlib.md5()

elif encrypt_way.upper() == 'sha1':

hash_string = hashlib.sha1()

else:

logger.exception(encrypterror('請輸入正確的加密方式,目前僅支援 md5 或 sha1'))

return

false

hash_string.update(string.encode())

return hash_string.hexdigest()

if __name__ == '__main__':

print(encrypt('100000307111111'))

根據你實際情況的不同,在其中新增其他支援方法。

怎樣從0開始搭建乙個測試框架 3 引數化

這一步我們需要用到python庫xlrd 我們已經把配置分離,並新增了log,接下來我們應該嘗試著進行資料分離,進行引數化了。我們修改file reader.py檔案,新增excelreader類,實現讀取excel內容的功能 檔案讀取。yamlreader讀取yaml檔案,excelreader讀...

怎樣從0開始搭建乙個測試框架 10 資料生成器

有時候介面或ui上傳入的資料需要符合指定的格式,我們在引數化的過程中又不願意在excel中一遍遍去構造這樣的資料,這時我們可以加入生成器來為我們產生符合某些固定格式的資料。這裡我推薦乙個挺有意思的庫,faker,能夠為你產生各種假資料 別忘了在readme.md中添上你要用的庫。在utils中建立乙...

從0開始搭建基礎後台框架

很多人會想tp5後台的通用框架很多,為何還要自己去造輪子呢,用著不香嗎?我想說的是不香,每乙個框架的ui包括裡面的外掛程式呢,引用的都不是很全面,有的過於臃腫,有的過於簡單,反正不滿意,那麼我就只能自己動手造了,這個框架呢,目的就是為了以後公司開發產品方便,方便自己去動手做一些自己喜歡的東西 框架採...