記錄一下學(xué)習(xí)和練手的過程,轉(zhuǎn)載自:https://testerhome.com/topics/29457
修改mitmweb的dowmload按鈕為導(dǎo)出httprunner腳本,如圖:

改完后按鈕變化為如圖:

該按鈕調(diào)用的后臺邏輯如圖,導(dǎo)出文件的格式需要bytes,因此修改該方法:

增加2個方法:flow_to_list和list_to_yml

方法flow_to_list參考了原作者,原作者返回的是har格式,但是這里需要返回list格式,再用har2case來處理該list;
這里截取了flow_to_list部分代碼,list中需要包含哪些數(shù)據(jù),是通過分析har2case得出的,通過?flows 的結(jié)構(gòu)整合成list中的數(shù)據(jù):

方法list_to_yml調(diào)用了HarParser,這里HarParser做了一些修改:

原HarParser傳的是har格式的文件,對har格式的文件做解析,輸出json或者yml的腳本文件。分析一下har2case:




最后,將list_to_yml返回的字符串轉(zhuǎn)換成bytes格式,以文件的形式導(dǎo)出。感謝原作者!