以LoadRunner 為例通過 Har 生成測試腳本
前言
HTTP Archive (HAR) format 是http協(xié)議交互的歸檔格式。
這個格式在本質(zhì)上就是utf8格式的json字符串,存儲著所有的http請求和http響應(yīng)的數(shù)據(jù),包括所有的head和body。
如何獲取HAR格式
一般,很多proxy類的工具,如fiddler,charles,原來一直以為charles不支持保存為har格式,后來才知道是在 export 菜單里面:
通過代理和反向代理獲取http報文
在charles中,支持代理,反向代理,端口轉(zhuǎn)發(fā) 這三種主要的方法獲取交互的報文。
1. 代理模式:這個就是普通的代理,proxy模式,瀏覽器都支持。
2. 反向代理:簡單說就是代理服務(wù)器,對于不支持設(shè)置代理的應(yīng)用,如接口類,可以通過這個來獲取報文。
3. 端口轉(zhuǎn)發(fā):這個功能更強大,基于tcp,udp層的,對于Socket類的都能錄到報文。一般如果不知道是什么協(xié)議的, 可以用這個,如果判斷是http協(xié)議的, 最好用反向代理模式的,這樣可以更直觀的看到解析后的報文。
解析har
通過代理和反向代理的方式,可以獲取到http報文,導(dǎo)出為har格式后,進(jìn)行解析,可以直接生成測試腳本。
生成的腳本,可以直接copy到LR中使用,根據(jù)需要做參數(shù)化和關(guān)聯(lián),對于不支持通過lr錄制的,如接口類,app類的,通過這種方式可以更快的生成腳本。
可能還存在部分未考慮到的問題,如請求并發(fā),編碼等問題。需要根據(jù)實際情況調(diào)整。
其他
對于其他工具,也可以自己解析har生成對應(yīng)的測試案例、腳本等。
另外,在charles中,還支持web interface,開啟后,可以遠(yuǎn)程管理charles,打開或關(guān)閉選項,下載har文件,有需要的可以自己寫請求實時遠(yuǎn)程管理,做到進(jìn)一步的自動化。