91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Python性能自動化測試框架

發布時間:2021-10-21 11:29:04 來源:億速云 閱讀:208 作者:小新 欄目:編程語言

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

背景

性能測試,作為一項對系統、接口或業務流程進行深度評估的測試活動,與功能測試的關注點和視角是不同的,同時因為可能涉及人員較廣,如性能測試人員,功能測試人員,開發,運維,DBA等,往往存在測試周期長的普遍現象。然而,對于瓶頸優化后的性能回歸,基于已有的環境數據、測試腳本、場景配置等,完全可以考慮實現性能自動化,將性能測試人員從繁瑣的場景執行、資源監控、結果收集等工作中解脫出來,從而節約時間、也使得性能人員可以集中精力在更重要的結果分析階段。

基于上述考慮及現實需求,有必要開發框架來實現性能測試自動化。

問題分析

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

1.       選用什么開發語言?

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

3.       如何設計框架,讓使用者更省心,讓應對需求更從容?

4.       如何抽離通用功能并實現復用?

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

6.       如何執行數據準備?

7.       如何高效實現window對多linux主機的控制和文件下載?

8.       如何讓數據庫的監控更方便?

9.       如何對html網頁數據爬取更簡單?

10.   如何進行文本內容提取和分析?

11.   如何寫html更優雅?

…………………………….

解決思路

好了,上面已經提了一大堆問題,當然,這僅僅是實現一個可用、可靠自動化框架眾多問題中的一部分,也是開發前需要有個基本解決構想的。

在框架開發中,設計原則及解決思路是這樣的:

采用Python作為開發語言,而且是純python實現,拒絕其他各種腳本形式,bat啊,shell啊,保持框架未來的可維護性;

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

框架應提供簡潔、易配置的統一接口,用戶無需關心框架內部實現;

框架應模塊化設計,提高功能復用;

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

抽離數據庫操作功能,支持在每個場景執行前進行環境初始化操作,而且該動作應該是可選或可配置的;

windows-linux的文件傳輸、命令執行、sql腳本執行可以通過parimiko實現;

通過獲取awr報告實現對數據庫性能狀況的監控;

通過nmon實現對各服務器資源的監控;

使用beautifulsoap解析html文件;

配置采用xml格式,且使用cElementTree進行解析;

框架的執行過程應有詳細的日志記錄,可以使用logging實現;

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

框架流程

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

如何實現Python性能自動化測試框架 

框架目錄結構

框架實現目錄結構如下:

如何實現Python性能自動化測試框架

Config目錄:提供框架統一配置入口,presql目錄提供場景初始化準備的腳本;

Log目錄:提供框架執行的詳細日志,以天為單位記錄日志,當日日志會被重寫;

Report目錄:框架執行完畢后生成報告,包括summary_report.html和resource_report.html;

Result目錄:該目錄用于存放執行的結果,其中包括用于保存linux資源監控的Linux目錄、場景執行結果的LR目錄和數據庫運行監控的Oracle目錄;

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

Scripts目錄:框架腳本目錄;

實現效果

框架執行完畢后,會以郵件形式發送報告,附件包括summary_report.html和resource_report.html,實現效果如下:

summary_report.html效果:

如何實現Python性能自動化測試框架

resource_report.html效果:

如何實現Python性能自動化測試框架

感謝各位的閱讀!關于“如何實現Python性能自動化測試框架”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民乐县| 呼伦贝尔市| 贞丰县| 于都县| 雷山县| 图片| 平谷区| 榆林市| 巴南区| 滁州市| 新营市| 财经| 郯城县| 廊坊市| 甘谷县| 瓦房店市| 华阴市| 志丹县| 疏附县| 漳州市| 德庆县| 普宁市| 隆林| 固原市| 定襄县| 固安县| 名山县| 博白县| 会泽县| 获嘉县| 雷山县| 茶陵县| 烟台市| 云和县| 大荔县| 凤翔县| 巴彦县| 保山市| 峨山| 登封市| 崇礼县|