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