码迷,mamicode.com
首页 > 编程语言 > 详细

Python实现解析LR Analyse Result并生成汇总性能指标数据报告

时间:2018-06-15 15:39:38      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:pad   col   bsp   数据   str   justify   pytho   api   解析   

前言

在性能测试框架开发中,需要将场景执行完成后的测试报告进行处理,汇总报告中关注的性能指标数据,然后写入报告并邮件发送相关人员。因而,其中一个环节就是,如何从测试报告中抓取关心的各个指标数据(如,tps,响应时间,并发用户数等)?

 

问题分析

LR生成测试报告时会将报告数据保存到目录,目录里有类似各个指标的汇总结果,如下图所示。但,如果想通过解析该html获取各个指标数据,这个想法会让你失望的!因为分析该html源码发现,指标数据其实并不在该页面,而是在该页面的定义的frameset。通俗的讲,就是一个页面嵌套另外的页面,实际数据要通过访问内嵌页面获得。熟悉selenium的同学,一定清楚这类情况,毕竟想要定位其中的元素,首先要做的操作就是switch_to_frame嘛。此处不多扯,后续会出selenium相关的系列文章。

技术分享图片

解决思路

经过对html源码分析,可以发现每个指标数据对应存储在Report目录下的一个html文件,只要使用pythonhtml解析技术获取到,然后对数据稍加修改,增加一些标签形式html格式的字符串,最后写入到.html的文件即可。

 

Python html解析技术总结

Python是非常擅长解析html的,方法众多,归纳以下几种:

1. lxml.html

2. BeautifulSoup

3. SGMLParser

4. HTMLParaer

5. Requests-HTML

6. 正则表达式

在本次实现中,采用的是 BeautifulSoup,一款用于HTMLXML文件中提取数据的Python库,API清晰、简洁。其中,lr报告中的表格样式和获取表格数据的代码分别如下:

lr报告的样式表格

技术分享图片

部分代码如下:

技术分享图片 


实现效果

最后,分析场景执行结果,提取TPS、响应时间,并发用户数等指标数据,并生成汇总报告的样式如下:

技术分享图片


其他资源:

python入门课程:http://i.youku.com/weiworld521


Python实现解析LR Analyse Result并生成汇总性能指标数据报告

标签:pad   col   bsp   数据   str   justify   pytho   api   解析   

原文地址:http://blog.51cto.com/2681882/2129801

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!