持续集成:Jmeter+Maven+Jenkins自动化框架搭建(Maven+JMeter )

环境准备

名称作用
Git 2.2代码同步,用于其他人协同编写代码
TortoiseGit-2.8.0.0-64bit管理Git 的图形化小工具
Java1.8JVM 运行环境,不介绍
Eclipse-jee-2019-06-R-win32-x86_64Java编辑器,不介绍
Maven3.2.5jar包版本控制,Jmeter执行流程
JMeter5Jmeter 不用介绍了吧!
Jenkins2.2用于自动化各种任务,包括构建、测试和部署软件
Windows 10我用的操作系统是 win10,需要可连接外网

  PS:所有软件包已将上传至百度云,你们要是没有,可以用我的,还有我的测试代码也在一起呢!

  链接:https://pan.baidu.com/s/111xQSFXJULRcfJ7IEWEaXA
  提取码:uwlu

  

这要写一个最全的JMeter+Maven+Jenkins 集成环境搭建步骤,但是一个博客肯定写不下,所以我会分开写,但时候的单放一个分类里面,求大家给他攒。

在这里插入图片描述
  

这篇博客主要介绍jmeter 怎样在 Eclipse 里面运行,和运行后的结果。

   准备环境:

名称版本
JMeter5.0+
Java1.8+
Maven3.2+
Eclipsejee版

  软件安装包,我的百度盘里面都有,第一次配置的情况下建议还是和我使用一致的版本,不然很有可能出现未知错误,影响学习体验。

step_1 准备 JMeter

  就是使用 JMeter 去编写一个JMX 的脚本,配置文件,参数化什么的都可以参照:Jmeter 搭建一个web测试环境
  写完了,拿着JMeter生成的JMX文件、还有参数文件,保存备用。

step_2 创建 maven 工程

   File → New → Other (我这里有 Maven Project 可以直接点,但我我担心其他的没有这个选项。)
在这里插入图片描述

   Wizards输入:Maven → 选择Maven Project → Next
在这里插入图片描述
   选择 Use default Work space location (使用默认工作空间地址) → Next

在这里插入图片描述
   选择 maven-archetype-webapp(一个模板,随意选了,无所谓) → Next

在这里插入图片描述
   Group Id:随意→Artifact id :Jmeter_test_demo → Finish

在这里插入图片描述
  PS: 新建工程后,Main 文件夹下面有一个 JSP文件报错,不用管它,直接删除就行了
在这里插入图片描述

step_3 创建 JMeter 运行环境

  1. 新建src/test/jmeter 文件夹
    • 存放 jmx 文件和JMeter 的配置文件
  2. 新建src/test/resources 文件夹
    • 存放 模板文件 在 JMeter 的extras文件夹里面有有两个,百度上还有很多我不管了,用哪个你们随意。

在这里插入图片描述
  关键很简单的,难度最大的是 test.jmx 文件,下面才是这个项目的关键,pom.xml maven 的配置文件

step_3 创建 JMeter 运行环境

<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>mavenjmeter</groupId>
    <artifactId>maven3jmeter</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>maven3jmeter</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.9.0</version>
				<configuration>
					<!-- 设置 jmeter 生成结果文件格式 
					注意:JMeter只支持在结果文件格式为CSV的情况下生成报表。
					    因此,启用<generateReports>true</generateReports>将导致您的结果文件格式自动更改为CSV格式,
					    所以 <resultsFileFormat>jtl</resultsFileFormat> 无效。
					    即使您已经显式地将其设置为XMLFormat!
					    如果想要 resultsFileFormat 结果是 jtl 文件 就不能 生成测试报告
					 配置网址:https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Advanced-Configuration
					-->
					<resultsFileFormat>jtl</resultsFileFormat>
					 <!-- 指定 jmeter 是否生成 测试报告 -->
                    <generateReports>false</generateReports>
					<!-- 设置忽略失败是否停止运行 -->
					<ignoreResultFailures>false</ignoreResultFailures>
					<!-- 设置结果是否有时间戳 -->
					<testResultsTimestamp>false</testResultsTimestamp>
					<testFilesIncluded>
						<!-- // 指定运行的 jmeter 脚本 -->
						<jMeterTestFile>test.jmx</jMeterTestFile>
						<!-- 指定 jtl 生成目录 -->
						<resultsDirectory>${jmeter.result.jtl.dir}</resultsDirectory>
					</testFilesIncluded>
                   
				</configuration>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
						<phase>verify</phase>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
			<!-- 根据 xsl 模版把 jtl 文件转换成 html ,官网地址: http://www.mojohaus.org/xml-maven-plugin/examples/transform-saxon.html -->
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>xml-maven-plugin</artifactId>
				<executions>
				  <execution>
					<goals>
					  <goal>transform</goal>
					</goals>
				  </execution>
                </executions>
                <configuration>
                    <transformationSets>
                        <transformationSet>
                            <!-- jtl 文件生成的路径 -->
                            <dir>${jmeter.result.jtl.dir}</dir>
                            <!-- 指定模板的位置,用这个文件,生成什么样的报告模板 -->
                            <stylesheet>src\test\resources\jmeter-results-detail-report_21.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-detail-report_30.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>

  一定要看清楚注释的,否则出问题了,都不知道怎么出的。
  还有这个异常,是因为target 下面没有jmeter\results 路径
在这里插入图片描述

step_4 测试运行环境

  右键项目 → Run As → Maven Build… (后面有三个点)
在这里插入图片描述
  在 Gorify 输入:verify → Run
在这里插入图片描述
  出现我红框圈这的就代表成功了,两个HTML 文件夹 要多等一会才会出来。
在这里插入图片描述
  好啦,做到这里就基本完成,Jenkins 其实就很简单了,就是点点点操作。

  

这要写一个最全的JMeter+Maven+Jenkins 集成环境搭建步骤,但是一个博客肯定写不下,所以我会分开写,到时候的单放一个分类里面,求大家给他攒。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值