怎樣從0開始搭建一個測試框架_11
框架到這裏已經很不錯了,後面就需要各位自己去完善了。比如有時候請求需要加密、簽名,還有一些支持方法,可以在utils中建個support.py放進去。
在utils中創建一個support.py文件,裏面可以放需要的一些支持方法,我們示例一個加密和簽名的方法:
"""一些支持方法,比如加密"""
import hashlib
from utils.log import logger
class EncryptError(Exception):
pass
def sign(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 += '{0}={1}&'.format(key, sign_dict[key])
string = string[0:len(string) - 1]
string = string.replace(' ', '')
return encrypt(string, salt=private_key, encrypt_way=encrypt_way)
def encrypt(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'))
根據你實際情況的不同,在其中添加其他支持方法。
就寫這麼多了,你可以根據這個思路補充擴充,來實現你自己的測試框架,也可以自己調整框架的分層與結構,框架的目的是爲了簡化我們用例編寫和維護的工作量,也沒必要把框架搞的太過複雜。
所有的代碼我都放到了GITHUB上傳送,可以自己下載去學習,有什麼好的建議或者問題,可以留言或者加我的QQ羣:455478219討論。