记录一下学习和练手的过程,转载自:https://testerhome.com/topics/29457
修改mitmweb的dowmload按钮为导出httprunner脚本,如图:
改完后按钮变化为如图:
该按钮调用的后台逻辑如图,导出文件的格式需要bytes,因此修改该方法:
增加2个方法:flow_to_list和list_to_yml
方法flow_to_list参考了原作者,原作者返回的是har格式,但是这里需要返回list格式,再用har2case来处理该list;
这里截取了flow_to_list部分代码,list中需要包含哪些数据,是通过分析har2case得出的,通过 flows 的结构整合成list中的数据:
方法list_to_yml调用了HarParser,这里HarParser做了一些修改:
原HarParser传的是har格式的文件,对har格式的文件做解析,输出json或者yml的脚本文件。分析一下har2case:
最后,将list_to_yml返回的字符串转换成bytes格式,以文件的形式导出。感谢原作者!