如何實(shí)現(xiàn)Python性能自動化測試框架-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)如何實(shí)現(xiàn)Python性能自動化測試框架的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司堅(jiā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è)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一 背景

性能測試,作為一項(xiàng)對系統(tǒng)、接口或業(yè)務(wù)流程進(jìn)行深度評估的測試活動,與功能測試的關(guān)注點(diǎn)和視角是不同的,同時因?yàn)榭赡苌婕叭藛T較廣,如性能測試人員,功能測試人員,開發(fā),運(yùn)維,DBA等,往往存在測試周期長的普遍現(xiàn)象。然而,對于瓶頸優(yōu)化后的性能回歸,基于已有的環(huán)境數(shù)據(jù)、測試腳本、場景配置等,完全可以考慮實(shí)現(xiàn)性能自動化,將性能測試人員從繁瑣的場景執(zhí)行、資源監(jiān)控、結(jié)果收集等工作中解脫出來,從而節(jié)約時間、也使得性能人員可以集中精力在更重要的結(jié)果分析階段。

基于上述考慮及現(xiàn)實(shí)需求,有必要開發(fā)框架來實(shí)現(xiàn)性能測試自動化。

二 問題分析

俗話說,工欲善其事必先利其器,開發(fā)性能測試自動化框架前,需要考慮以下問題:

1.      選用什么開發(fā)語言?

2.      框架要處理的性能測試工具是什么?

3.      如何設(shè)計(jì)框架,讓使用者更省心,讓應(yīng)對需求更從容?

4.      如何抽離通用功能并實(shí)現(xiàn)復(fù)用?

5.      如何控制多場景下的執(zhí)行順序?

6.      如何執(zhí)行數(shù)據(jù)準(zhǔn)備?

7.      如何高效實(shí)現(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)然,這僅僅是實(shí)現(xiàn)一個可用、可靠自動化框架眾多問題中的一部分,也是開發(fā)前需要有個基本解決構(gòu)想的。

在框架開發(fā)中,設(shè)計(jì)原則及解決思路是這樣的:

采用Python作為開發(fā)語言,而且是純python實(shí)現(xiàn),拒絕其他各種腳本形式,bat啊,shell啊,保持框架未來的可維護(hù)性;

性能測試工具主要是LR、某些場景可能會用到Jmeter,因而,框架優(yōu)先支持LR,根據(jù)后續(xù)需求,會考慮對Jmeter的支持;

框架應(yīng)提供簡潔、易配置的統(tǒng)一接口,用戶無需關(guān)心框架內(nèi)部實(shí)現(xiàn);

框架應(yīng)模塊化設(shè)計(jì),提高功能復(fù)用;

框架通過統(tǒng)一的配置接口方便支持場景順序控制的需求;

抽離數(shù)據(jù)庫操作功能,支持在每個場景執(zhí)行前進(jìn)行環(huán)境初始化操作,而且該動作應(yīng)該是可選或可配置的;

windows-linux的文件傳輸、命令執(zhí)行、sql腳本執(zhí)行可以通過parimiko實(shí)現(xiàn);

通過獲取awr報告實(shí)現(xiàn)對數(shù)據(jù)庫性能狀況的監(jiān)控;

通過nmon實(shí)現(xiàn)對各服務(wù)器資源的監(jiān)控;

使用beautifulsoap解析html文件;

配置采用xml格式,且使用cElementTree進(jìn)行解析;

框架的執(zhí)行過程應(yīng)有詳細(xì)的日志記錄,可以使用logging實(shí)現(xiàn);

支持生成html格式的測試報告;

四 框架流程

框架主要分為三大功能模塊,場景執(zhí)行、資源監(jiān)控、結(jié)果分析和報告;流程圖如下:

如何實(shí)現(xiàn)Python性能自動化測試框架

五 框架目錄結(jié)構(gòu)

框架實(shí)現(xiàn)目錄結(jié)構(gòu)如下:

如何實(shí)現(xiàn)Python性能自動化測試框架

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ù)庫運(yùn)行監(jiān)控的Oracle目錄;

Scenarios目錄:場景執(zhí)行文件目錄和用于保存LR結(jié)果分析模板的Perf_Autotest_Tep目錄;

Scripts目錄:框架腳本目錄;

六 實(shí)現(xiàn)效果

框架執(zhí)行完畢后,會以郵件形式發(fā)送報告,附件包括summary_report.html和resource_report.html,實(shí)現(xiàn)效果如下:

summary_report.html效果:

如何實(shí)現(xiàn)Python性能自動化測試框架

resource_report.html效果:

如何實(shí)現(xiàn)Python性能自動化測試框架

感謝各位的閱讀!關(guān)于“如何實(shí)現(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ù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文題目:如何實(shí)現(xiàn)Python性能自動化測試框架-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://muchs.cn/article10/cshddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化全網(wǎng)營銷推廣網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)