Jmeter+Ant+Jenkins自动化搭建之报告优化
创始人
2024-05-30 19:26:39

平台简介


一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。Jmeter支持接口的测试,Ant支持自动构建,而Jenkins支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。

搭建流程参考我之前一篇文章

Jmeter+Ant+Jenkins接口自动化测试平台搭建

SummaryReport优化


Jmeter默认生成报告不是很详细,因此我们需要进行优化。这里我们使用新的报告模板:jmeter-results-detail-report_30.xsl 默认的报告模板是jmeter-results-detail-report_21

1.打开 build.xml 将21改为30
2.使用新的样式表shanhe.xsl,放在jmeter\extras下,build文件新增将jtl转化为html的语句(查看jmeter版本是否自带,没有新建一个)

补充删除 .jtl的代码,如果不删除每次迭代的记录都会显示在报告里面,显得很冗余。

funcMode = ${funcMode}

进入Jmeter的bin目录,找到jmeter.properties文件打开。然后将以下代码取消注释状态,并改为true

jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
# Only available with HttpClient4
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=true
jmeter.save.saveservice.bytes=true
# Only available with HttpClient4
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true

最后执行即可生成最新的报告:样式如下,可以清晰看到每一个请求发送,响应内容。

注意

如果生成的报告为空,则说明jmeter脚本有错误,此时可以打开jmeter的bin目录中的jmeter.log日志文件,查看具体的报错信息。

进一步优化


打开jmeter.results.shanhe.me.xsl文件定位该元素的类在该类的样式下增加自动换行的属性

#right-panel .data { line-height: 19px; white-space: initial; }

运行一下,断言结果可以自动换行了。其他部分换行按照同个方法即可

上图可以看到,断言输出的换行"\n"被编译成一个空格,把断言结果用pre标签包起来

运行,断言结果换行符起作用了看起来差不多了(∩_∩)~

DetailReport优化问题

这个问题没有遇到,仅作为记录,有遇到的小伙伴欢迎留言

测试报告为空,MinTime和MaxTime为NaN

1.样式表版本不对,所以网上找了到jmeter-results-detail-report_21.xsl,下载放到jmeter->extra下
2.把jmeter->lib下的xalan.jar、serializer.jar复制到ant->lib下

附使用的三个文件如下

build.xml



             

jmeter-results-detail-report_30.xsl




<xsl:value-of select="$titleReport" />

Date report: Host: 测试日志

Summary

# SamplesSuccessFailuresSuccess RateAverage TimeMin TimeMax Time90% LineQPS

Pages

FailureLongTimepage_details_
URL# SamplesSuccessFailuresSuccess RateAverage TimeMin TimeMax Time90% LineQPS
0">#= $failureCount">javascript:change('page_details_')page_details__image
Details for Page ""
ThreadIterationTime (milliseconds)BytesSuccess
0">

Failure Detail

0">

ResponseFailure MessageResponse Data
-
NaN NaN NaN
jmeter.results.shanhe.me.xsl

JMeter Test Results
  1. Thread:
  2. successfailure
    Sampler
    Thread Name:
    Timestamp:
    Time: ms
    Latency: ms
    Bytes:
    Sample Count:
    Error Count:
    Response Code:
    Response Message:
    Assertion
    failurefailure
    Failure:
    Error:
    Failure Message:
    Request
    Method/Url:
     
    Query String:
    Cookies:
    Request Headers:
    Response
    Response Headers:
    Response Data:
    Response File:

相关内容

热门资讯

警心暖民心 (来源:劳动午报)转自:劳动午报 近日,北京市公安局丰台分局在北京银座和谐广场设立主会场,开展以“四...
全旺镇办好民生实事 提升群众幸... (来源:衢州日报)转自:衢州日报  本报讯 (记者 毛慧娟 通讯员 吴齐凡 王晶) 1月9日,衢江区...
证监会:合力推动中长期资金进一...   证券时报记者 程丹 贺觉渊  1月11日,证监会副主席陈华平在参加第30届中国资本市场论坛时表示...
陶然亭街道总工会打造不打烊的“... (来源:劳动午报)转自:劳动午报 本报讯 (记者 陈曦) 近日,西城区陶然亭街道总工会打造的24小时...
最新或2023(历届)石家庄市...  最新或2023(历届)石家庄五险一金  1、缴存基数计算口径及标准。住房公积金缴存基数为职工上一年...