Macaroon反向代理測試套件
Macaroon 是一個高效的反向代理測試套件,測試框架本身基于python2.7開發(fā),方便跨平臺移植;測試?yán)褂酶袷交枋?,做到編程語言無關(guān)性。使用 Macaroon能夠簡便快捷的完成測試場景的構(gòu)造、線上失效案例的重建及被測軟件(DUT)的功能、模塊、協(xié)議一致性測試等。
安裝及使用
社區(qū)公共測試平臺地址:
目前公共測試環(huán)境已經(jīng)搭建配置完成,測試用戶名:Tester; 登錄qa1機(jī)器:ssh -l Tester -p 22292 qa1.zymlinux.net, /home/Macaroon安裝有Macaroon; 登錄qa2機(jī)器:ssh -l Tester -p 22293 qa2.zymlinux.net,安裝有ts、squid等方向代理軟件; 如有需要,請聯(lián)系宗儀(QQ:624740707)或懷財(QQ:262765996)添加長期用戶權(quán)限;
自行安裝及使用:
i. 硬件準(zhǔn)備:
兩臺機(jī)器A和B,A機(jī)器執(zhí)行測試并同時作為client端與server端,B機(jī)器安裝被測軟件DUT--例如TrafficServer(Proxy).
ii.軟件準(zhǔn)備:
執(zhí)行install.sh文件 Client&Server: Linux Python2.7 PyYaml包 Macaroon git DUT( Device Under Testing) : 被測軟件(proxy or cache, 如TrafficServer, Swift等) Bind
iii. 配置DUT:
使從A機(jī)器client端發(fā)出的http請求能夠通過DUT(proxy)后正確到達(dá)A機(jī)器server端 ----- *重要 例如: 在proxy上安裝bind, 修改named的相關(guān)配置信息,使得named中存在一個域名可以指向A機(jī)器(Client的IP),使用dig <域名>確認(rèn)是否成功.
iv. 修改config文件:
在macaroon目錄下, 找到config.py文件,將_server的內(nèi)容修改為proxy的ip或者h(yuǎn)ostname. _port修改為proxy提供的對外服務(wù)的端口, 例如:默認(rèn)為80. 將DUT_Strart, DUT_Stop和DUT_Clean分別修改為proxy對應(yīng)的啟動, 停止和清理緩存命令.
v. 將macaroon目錄下的agentsever.py 拷貝至proxy機(jī)器,并使用sudo權(quán)限執(zhí)行:
sudo python agentserver.py
vi. 環(huán)境驗(yàn)證:
在client端執(zhí)行httpmockserver.py:python httpmockserver.py 在proxy端執(zhí)行curl命令,驗(yàn)證proxy到client的request是否可達(dá): curl http://<proxyip>:<port>/ -H "Host:XXX:[port]"
更多問題參見:doc/Q&A
框架及case設(shè)計
參見doc/Case_Design
如何運(yùn)行用例
i. 運(yùn)行單個case
在根目錄下執(zhí)行如下命令: sh runcase.sh case文件
ii. 運(yùn)行多個case
在根目錄下執(zhí)行如下命令:python runner.py -p your-case-path -s your-email 詳見:python runner.py -h
查看case輸出及日志
i. 執(zhí)行和調(diào)試單個測試?yán)?/p>
sh runcase.sh <case文件>, case執(zhí)行日志屏幕輸出
ii. 執(zhí)行多個case
執(zhí)行日志輸出至日志文件,./log/record_XXXX.log,按時間排序
如何編寫你的用例
i. case/下創(chuàng)建your case dir
ii. 拷貝case模板example/case_template_example.yaml至your case dir,并重命名
iii.編輯該文件
a. 文件頭部添加case相關(guān)說明 b. 填寫case步驟并準(zhǔn)備對應(yīng)步驟的數(shù)據(jù)塊 c. 填充和完善每步的數(shù)據(jù),如request header, response header, response body, 需要檢查的header等 d. 保存和調(diào)試用例
更多信息
參見./doc/文檔
評論
圖片
表情
