這篇文章給大家分享的是有關(guān)如何實現(xiàn)Python性能自動化測試框架的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的松山網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!一 背景
性能測試,作為一項對系統(tǒng)、接口或業(yè)務(wù)流程進(jìn)行深度評估的測試活動,與功能測試的關(guān)注點和視角是不同的,同時因為可能涉及人員較廣,如性能測試人員,功能測試人員,開發(fā),運維,DBA等,往往存在測試周期長的普遍現(xiàn)象。然而,對于瓶頸優(yōu)化后的性能回歸,基于已有的環(huán)境數(shù)據(jù)、測試腳本、場景配置等,完全可以考慮實現(xiàn)性能自動化,將性能測試人員從繁瑣的場景執(zhí)行、資源監(jiān)控、結(jié)果收集等工作中解脫出來,從而節(jié)約時間、也使得性能人員可以集中精力在更重要的結(jié)果分析階段。
基于上述考慮及現(xiàn)實需求,有必要開發(fā)框架來實現(xiàn)性能測試自動化。
二 問題分析
俗話說,工欲善其事必先利其器,開發(fā)性能測試自動化框架前,需要考慮以下問題:
1. 選用什么開發(fā)語言?
2. 框架要處理的性能測試工具是什么?
3. 如何設(shè)計框架,讓使用者更省心,讓應(yīng)對需求更從容?
4. 如何抽離通用功能并實現(xiàn)復(fù)用?
5. 如何控制多場景下的執(zhí)行順序?
6. 如何執(zhí)行數(shù)據(jù)準(zhǔn)備?
7. 如何高效實現(xiàn)window對多l(xiāng)inux主機(jī)的控制和文件下載?
8. 如何讓數(shù)據(jù)庫的監(jiān)控更方便?
9. 如何對html網(wǎng)頁數(shù)據(jù)爬取更簡單?
10. 如何進(jìn)行文本內(nèi)容提取和分析?
11. 如何寫html更優(yōu)雅?
…………………………….
三 解決思路
好了,上面已經(jīng)提了一大堆問題,當(dāng)然,這僅僅是實現(xiàn)一個可用、可靠自動化框架眾多問題中的一部分,也是開發(fā)前需要有個基本解決構(gòu)想的。
在框架開發(fā)中,設(shè)計原則及解決思路是這樣的:
采用Python作為開發(fā)語言,而且是純python實現(xiàn),拒絕其他各種腳本形式,bat啊,shell啊,保持框架未來的可維護(hù)性;
性能測試工具主要是LR、某些場景可能會用到Jmeter,因而,框架優(yōu)先支持LR,根據(jù)后續(xù)需求,會考慮對Jmeter的支持;
框架應(yīng)提供簡潔、易配置的統(tǒng)一接口,用戶無需關(guān)心框架內(nèi)部實現(xiàn);
框架應(yīng)模塊化設(shè)計,提高功能復(fù)用;
框架通過統(tǒng)一的配置接口方便支持場景順序控制的需求;
抽離數(shù)據(jù)庫操作功能,支持在每個場景執(zhí)行前進(jìn)行環(huán)境初始化操作,而且該動作應(yīng)該是可選或可配置的;
windows-linux的文件傳輸、命令執(zhí)行、sql腳本執(zhí)行可以通過parimiko實現(xiàn);
通過獲取awr報告實現(xiàn)對數(shù)據(jù)庫性能狀況的監(jiān)控;
通過nmon實現(xiàn)對各服務(wù)器資源的監(jiān)控;
使用beautifulsoap解析html文件;
配置采用xml格式,且使用cElementTree進(jìn)行解析;
框架的執(zhí)行過程應(yīng)有詳細(xì)的日志記錄,可以使用logging實現(xiàn);
支持生成html格式的測試報告;
四 框架流程
框架主要分為三大功能模塊,場景執(zhí)行、資源監(jiān)控、結(jié)果分析和報告;流程圖如下:
五 框架目錄結(jié)構(gòu)
框架實現(xiàn)目錄結(jié)構(gòu)如下:
Config目錄:提供框架統(tǒng)一配置入口,presql目錄提供場景初始化準(zhǔn)備的腳本;
Log目錄:提供框架執(zhí)行的詳細(xì)日志,以天為單位記錄日志,當(dāng)日日志會被重寫;
Report目錄:框架執(zhí)行完畢后生成報告,包括summary_report.html和resource_report.html;
Result目錄:該目錄用于存放執(zhí)行的結(jié)果,其中包括用于保存linux資源監(jiān)控的Linux目錄、場景執(zhí)行結(jié)果的LR目錄和數(shù)據(jù)庫運行監(jiān)控的Oracle目錄;
Scenarios目錄:場景執(zhí)行文件目錄和用于保存LR結(jié)果分析模板的Perf_Autotest_Tep目錄;
Scripts目錄:框架腳本目錄;
六 實現(xiàn)效果
框架執(zhí)行完畢后,會以郵件形式發(fā)送報告,附件包括summary_report.html和resource_report.html,實現(xiàn)效果如下:
summary_report.html效果:
resource_report.html效果:
感謝各位的閱讀!關(guān)于“如何實現(xiàn)Python性能自動化測試框架”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文題目:如何實現(xiàn)Python性能自動化測試框架-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://jinyejixie.com/article10/cshddo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容