Python解析LR Analyse Result並生成性能指標數據的彙總報告

前言html

在性能測試框架開發中,須要將場景執行完成後的測試報告進行處理,彙總報告中關注的性能指標數據,而後寫入報告並郵件發送相關人員。於是,其中一個環節就是,如何從測試報告中抓取關心的各個指標數據(如,tps,響應時間,併發用戶數等)?python

 

問題分析web

LR生成測試報告時會將報告數據保存到目錄,目錄裏有相似各個指標的彙總結果,以下圖所示。但,若是想經過解析該html獲取各個指標數據,這個想法會讓你失望的!由於分析該html源碼發現,指標數據其實並不在該頁面,而是在該頁面的定義的frameset。通俗的講,就是一個頁面嵌套另外的頁面,實際數據要經過訪問內嵌頁面得到。熟悉selenium的同窗,必定清楚這類狀況,畢竟想要定位其中的元素,首先要作的操做就是switch_to_frame嘛。此處很少扯,後續會出selenium相關的系列文章。正則表達式

22.png

解決思路併發

通過對html源碼分析,能夠發現每一個指標數據對應存儲在Report目錄下的一個html文件,只要使用pythonhtml解析技術獲取到,而後對數據稍加修改,增長一些標籤形式html格式的字符串,最後寫入到.html的文件便可。app

 

Python html解析技術總結框架

Python是很是擅長解析html的,方法衆多,概括如下幾種:ide

1. lxml.html源碼分析

2. BeautifulSoup性能

3. SGMLParser

4. HTMLParaer

5. Requests-HTML

6. 正則表達式

在本次實現中,採用的是 BeautifulSoup,一款用於HTMLXML文件中提取數據的Python庫,API清晰、簡潔。其中,lr報告中的表格樣式和獲取表格數據的代碼分別以下:

lr報告的樣式表格

44.png

部分代碼以下:

33.png 


實現效果

最後,分析場景執行結果,提取TPS、響應時間,併發用戶數等指標數據,並生成彙總報告的樣式以下:

55.png


其餘資源:

python入門課程:http://i.youku.com/weiworld521

相關文章
相關標籤/搜索