Jmeter+Maven+jenkins接口和性能可持续集成测试
来源:互联网 发布:rom软件下载 编辑:程序博客网 时间:2024/09/21 06:34
话说无时无刻都觉得有很多东西需要学习,但是我所奉行的理念的就是每天都进步一点,不断完善不断提高!!!!话不多说,进入正题:其实在本文最重要的应该就是jmeter的脚本和pom.xml文件
一、首先当然是在Jmeter的工具里面编写好自己的脚本,调试运行成功。本文就以项目测试中的两个脚本为例。
二、新建MAVEN工程,我用的是Eclipse
1、在src/test目录下新建jmeter目录,然后把自己的测试脚本丢进去
2、在在src/test目录下新建resources目录,然后把测试模板丢进去。
在Jmeter3.2中自带的模板是下图的两个,apache-jmeter-3.2\extras
但是基于自带的模板太简单了,需要去网上下载比较好用的模板,我这里下载的就是这两个,反正喜欢哪个就把哪个丢进去。
3、编写pom.xml文件
我这里列举比较重要的几点
(1)添加jmeter-maven-plugin依赖,这样才能在eclipse里面运行Jmeter的脚本,而不依赖与Jmeter这个工具本身;
(2)由于jmeter-maven-plugin这个插件生成的测试结果的格式是jtl的,我们需要转换成html的,更直观,而且能在jenkins中直接显示;
(3)在本人构建项目的过程中,遇到一个比较大的坑就是html页面显示出来的数据有一些是NaN的
这个问题确实困扰了我很久,在网上搜到的办法都是关于ant的。相对于Maven的资料相对就很少了。后来才发现需要用XSLT2.0,在pom.xml中添加依赖就可以了
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>zdt</groupId> <artifactId>zdt-test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>zdt-test</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jmeter.result.jtl.dir>${project.build.directory}\jmeter\results</jmeter.result.jtl.dir> <jmeter.result.html.dir>${project.build.directory}\jmeter\html</jmeter.result.html.dir> <jmeter.result.html.dir1>${project.build.directory}\jmeter\html1</jmeter.result.html.dir1> <ReportName>TestReport</ReportName> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.lazerycode.jmeter</groupId> <artifactId>jmeter-maven-plugin</artifactId> <version>2.2.0</version> <configuration> <resultsFileFormat>xml</resultsFileFormat> <ignoreResultFailures>true</ignoreResultFailures> <testResultsTimestamp>false</testResultsTimestamp> </configuration> <executions> <execution> <id>jmeter-tests</id> <phase>verify</phase> <goals> <goal>jmeter</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <version>1.0-beta-3</version> <executions> <execution> <phase>verify</phase> <goals> <goal>transform</goal> </goals> </execution> </executions> <configuration> <transformationSets> <transformationSet> <dir>${jmeter.result.jtl.dir}</dir> <stylesheet>src\test\resources\jmeter-results-report-loadtest.xsl</stylesheet> <outputDir>${jmeter.result.html.dir}</outputDir> <fileMappers> <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper"> <targetExtension>html</targetExtension> </fileMapper> </fileMappers> </transformationSet> <transformationSet> <dir>${jmeter.result.jtl.dir}</dir> <stylesheet>src\test\resources\jmeter.results.shanhe.me.xsl</stylesheet> <outputDir>${jmeter.result.html.dir1}</outputDir> <fileMappers> <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper"> <targetExtension>html</targetExtension> </fileMapper> </fileMappers> </transformationSet> </transformationSets> </configuration> <!-- using XSLT 2.0 --> <dependencies> <dependency> <groupId>net.sf.saxon</groupId> <artifactId>saxon</artifactId> <version>8.7</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>
至此项目的运行应该不存在问题了。在Eclipse中运行之后就会有测试结果。
results、html、html1三个文件中存在的就是jtl、HTML、HTML格式的测试结果。html中得测试结果更偏向于性能测试,html1中的测试结果更多的是显示一些接口信息,适用于接口测试。
三、在Jenkins进行自动化构建并展示测试结果
在jenkins进行构建之前首先需要装几个插件
Maven Integration plugin Maven插件;
Git plugin GIT 插件;
Performance plugin 性能报告插件;
HTML Publisher plugin HTTP report插件;
前面两个插件是因为项目本身是Maven项目,代码统一传在git上;后面两个插件只是为了展示测试报告。
1、创建一个Maven项目
2、选择存放代码的位置。git服务器的URL地址
build中填写pom.xml路径
至此应该可以构建成功了。
查看构建日志
3、但是我们还需要一些步骤来做测试前准备和测试后报告展示
测试前准备:pre steps
在下一次测试前删除上一次的测试结果,这里可以执行各种类型的脚本,因为我们的服务器是linux的,所以这里选的是shell脚本
测试后测试结果展示:
(1)jenkins设置展示jtl的测试结果
展示的效果:
(2)jenkins设置展示成html
展示的效果:
scenario1 HTML Report:
scenario1 HTML Report1:(这个需要修改jmeter.properties文件,把需要的字段改为true,否则显示不出来)
- Jmeter+Maven+jenkins接口和性能可持续集成测试
- Jenkins+maven+jmeter接口可持续集成自动化测试
- Jenkins+maven+jmeter接口可持续集成自动化测试
- 搭建自动化测试可持续集成平台 jenkins ant jmeter
- 基于Jmeter+Maven+Jenkins持续集成接口测试框架
- Jmeter +Maven+jenkins 接口性能全自动化测试
- git maven Jenkins 可持续集成
- Jenkins+maven+git的可持续集成实践
- Jenkins集成JMeter性能测试与Ant构建性能测试
- jmeter接口自动化测试之二:jenkins+maven+jmeter
- 【性能测试】Jmeter+maven+Jenkins构建云性能测试平台
- JMeter和Jenkins 性能测试之旅
- ant+jmeter+jenkins搭建持续性能测试,接口测试平台
- ant+jmeter+jenkins搭建持续性能测试,接口测试平台
- Jenkins+Ant+Jmeter搭建持续集成的接口测试平台
- Jenkins+Ant+Jmeter搭建持续集成的接口测试平台
- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
- 关于代理模式
- UBIFS文件系统简介 与 利用mkfs.ubifs和ubinize两个工具制作UBI镜像
- Mysql之1050错误解决办法
- 看完让你彻底搞懂Websocket原理
- DOS命令大全(经典收藏)
- Jmeter+Maven+jenkins接口和性能可持续集成测试
- nagios iphone安装版
- dup2复制文件描述符
- strings
- 插入排序
- 【经验】PCB电路板表面处理工艺——沉金板与镀金板的区别(太实用了)
- CS6安装mysql-Pernoca
- 委托模式
- Linux expr命令