Jmeter+Maven构建本地自动化测试

Jmeter+Maven+Jenkins是当前国内测试行业比较流行的做法,要实现该自动化框架,需先在本地进行搭建,测试无误后,再放到Jenkins上去进行持续集成。那么接下来我们将一步步来实现。首先介绍下用的软件版本:Eclipse 2019-03 (4.11.0),JDK 1.8.0_171 ,Maven 3.6.1,Jmeter V5.0。这些软件的安装与配置就不在该篇文章中过多描述了,开门见山,直接进入正题。

1、打开Eclipse新建Maven项目

Jmeter+Maven构建本地自动化测试_第1张图片

Jmeter+Maven构建本地自动化测试_第2张图片

Jmeter+Maven构建本地自动化测试_第3张图片

Jmeter+Maven构建本地自动化测试_第4张图片

 

项目新建最开始的目录结构是这样的。

Jmeter+Maven构建本地自动化测试_第5张图片

2、修改目录结构及其相关配置

1)删除src/test/java目录下的文件,实际过程中用不到。

2)在src/test目录下新建一个jmeter的目录,用来存放jmeter脚本、配置文件、参数化文件

3)在src/test目录下新建一个resources的目录,用来存放资源文件,比如XSL样式表文件jmeter.results.shanhe.me.xsl、jmeter-results-detail-report.xsl、jmeter-results-detail-report_21.xsl、jmeter-results-report.xsl、jmeter-results-report_21.xsl(注意:如何找到这些样式文件?找到jmeter安装目录的extras文件夹,v5.0版本只含有jmeter-results-detail-report_21.xsl、jmeter-results-report_21.xsl)

4)修改项目jdk版本,引入本地最新的jdk

修改后的目录结构是这样的。

Jmeter+Maven构建本地自动化测试_第6张图片

3、把脚本、参数化文件、配置文件放入src/test/jmeter目录中

*.jmx是调试过脚本文件,用例文件夹中包含参数化文件csv或者txt,各种properties文件来自于jmeter安装目录bin文件夹中。

Jmeter+Maven构建本地自动化测试_第7张图片

4、把jmeter-results-detail-report_21.xsl、jmeter-results-report_21.xsl放入到resources文件夹中

现在目录结构是这样的。

Jmeter+Maven构建本地自动化测试_第8张图片

5、接下来,重头戏来了,如何配置pom.xml,该文件是maven的引入jar包、插件的重要配置文件。

刚开始时,该XML文件是这样的。

Jmeter+Maven构建本地自动化测试_第9张图片

1)将junit版本从3.8.1改成4.10,3.*的版本太老了


    
      junit
      junit
      4.10
      test
    
  

2)在properties中加入jtl、html的存放路径

jtl后缀文件是jmeter执行后产生的结果文件,如果参数不配置,那么生成的就是csv文件。

html是jtl文件通过XSL样式表文件转化的结果。


    UTF-8
	
		 
   ${project.build.directory}\jmeter\results
		
		 
    ${project.build.directory}\jmeter\html		


3)加入jmeter-maven-plugin组件,该组件是联系maven与jmeter的核心,没有该组件无法通过maven构建jmeter脚本进行测试

其中

jtl

xml

这2个配置项很重要。


		
			
				com.lazerycode.jmeter
				jmeter-maven-plugin
				2.9.0
				
					
						jmeter-tests
						
							jmeter
						
						
							jtl  
						
					
                                   
					
						jmeter-check-results
						
							results
						
					            
				
				
					
					5.0
					
					xml
					
					true
					
					true
					
						
						发布会系统测试.jmx
					
					
					${jmeter.result.jtl.dir}
				
			
		
	

4)在jmeter.properties进行修改jmeter.save.saveservice.output_format=xml

Jmeter+Maven构建本地自动化测试_第10张图片

5)再加入xml-maven-plugin组件,该组件能将jtl文件转换成html报表


				
				org.codehaus.mojo
				xml-maven-plugin
				1.0-beta-3
				
					
						verify
						
							transform
						
					
				
				
					
						
							${jmeter.result.jtl.dir}
							src\test\resources\jmeter-results-report_21.xsl
							${jmeter.result.html.dir}
							
							
								
									html
								
							
						
						
							${jmeter.result.jtl.dir}
							src\test\resources\jmeter-results-detail-report_21.xsl
							${jmeter.result.html.dir1}
							
							
								
									html
								
							
						
					
				
				
				
					
						net.sf.saxon
						saxon
						8.7
					
				
			

6)现在开始尝试运行一下了,在eclipse里面找到pom.xml文件右键run as ->Maven buil,Goals里填入verify,运行结果如下

Jmeter+Maven构建本地自动化测试_第11张图片

 

Jmeter+Maven构建本地自动化测试_第12张图片

忽略这2个警告:Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor,因为和提供的XSL样式表文件版本有关系。

7)打开本地(项目路径)autotest\target\jmeter\html 、(项目路径)autotest\target\jmeter\html1,查看报表

html:

Jmeter+Maven构建本地自动化测试_第13张图片

html1:

Jmeter+Maven构建本地自动化测试_第14张图片

发现红框的问题吗?图片没加载出来,怎么处理?

到jmeter安装目录的extras文件夹中,找到collapse.png、expand.png文件,复制到autotest\target\jmeter\html1的文件夹中,然后刷新html报表。

Jmeter+Maven构建本地自动化测试_第15张图片

图标就变过来了。

6、Jmeter属性的设置的3种方式。

第一种,就是我们所用的,将jmeter.properties、saveservice.properties、system.properties、upgrade.properties、user.properties复制到项目中,进行修改。

第二种,直接在pom.xml文件中进行配置,放在节点下。

第三种,混合配置

现在将第二种的属性配置贴出来,不做讲解。


						true
						debug
						utf-8
						true
						true
						true		
						true				
						true
						true
						true
						true
						true
						true
						true   
						true
						true
						true
						true
						true
						true
						true
						true
						true
						true
						true
						=true
						true
						true
					
     

7、大家可能有些奇怪,你为啥就知道在pom.xml中配置jmeter属性,其实这个不难,毕竟凡事都有因果。推荐2个网站,其实就是jmeter-maven-plugin、xml-maven-plugin官方网站。

https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Advanced-Configuration

http://www.mojohaus.org/xml-maven-plugin/index.html

如果你jmeter-maven-plugin可以对应哪些jmeter版本,也可以去上面查看。

8、如果你需要删除不必要的脚本,因为maven项目时会把src/test/jmeter下的测试脚本复制到target/jmeter/testFiles路径下,这2个路径下的脚本都要删除。

9、最后贴下完整的pom.xml文件以及项目的目录结构



	4.0.0

	com.selftest
	autointerface
	0.0.1-SNAPSHOT
	jar

	autointerface
	http://maven.apache.org

	
		UTF-8
		
		${project.build.directory}\jmeter\results
		
		${project.build.directory}\jmeter\html
		${project.build.directory}\jmeter\html1
	

	
		
			junit
			junit
			4.10
			test
		
	
	
		
			
				com.lazerycode.jmeter
				jmeter-maven-plugin
				2.9.0
				
					
						jmeter-tests
						
							jmeter
						
						
							jtl  
						
					
					
					
						jmeter-check-results
						
							results
						
					
				
				
					
					5.0
					
					xml
					
					true
					
					true
					
						
						发布会系统测试.jmx
					
					
					${jmeter.result.jtl.dir}
				
			
			
				
				org.codehaus.mojo
				xml-maven-plugin
				1.0-beta-3
				
					
						verify
						
							transform
						
					
				
				
					
						
							${jmeter.result.jtl.dir}
							src\test\resources\jmeter-results-report_21.xsl
							${jmeter.result.html.dir}
							
							
								
									html
								
							
						
						
							${jmeter.result.jtl.dir}
							src\test\resources\jmeter-results-detail-report_21.xsl
							${jmeter.result.html.dir1}
							
							
								
									html
								
							
						
					
				
				
				
					
						net.sf.saxon
						saxon
						8.7
					
				
			
		
	

Jmeter+Maven构建本地自动化测试_第16张图片

你可能感兴趣的:(Jmeter)