Jenkins+maven+jmeter接口可持续集成自动化测试

   说到接口我们都能想到jmeter这个工具,但是我们如何借助jenkins来做可持续集成自动化的测试呢?下面就是我对jenkins、maven、jmeter做的可持续化集成环境搭建的学习心得。

一,jmeter脚本录制

这一步就是录制Jmeter脚本,确保脚本能正确运行。

 

二,建立一个maven工程

1,打开eclipse,点击File->New->Project->Maven Project

 

 Jenkins+maven+jmeter接口可持续集成自动化测试_第1张图片

 Jenkins+maven+jmeter接口可持续集成自动化测试_第2张图片

2,创建maven工程后,在工程目录下新建所需的文件夹

--Src/test/resources --存放报告模板文件

--src/main/

--src/test/jmeter --存放jmeter脚本文件跟一些接口调用的参数

--target/jmeter/bin --target存放结果的根目录

--target/jmeter/html

--target/jmeter/html1

--target/jmeter/lib

--target/jmeter/logs

--target/jmeter/results

--target/maven-archiver

--target/surefire

 Jenkins+maven+jmeter接口可持续集成自动化测试_第3张图片

 

3,编辑pom.xml文件


	4.0.0

	interface.test
	vet
	0.0.1-SNAPSHOT

	vet
	http://maven.apache.org
	
		
			junit
			junit
			3.8.1
			test
		
		
			javax.servlet
			servlet-api
			3.0-alpha-1
		
		
			mysql
			mysql-connector-java
			5.1.13
		
		
		
	
	
		${project.build.directory}\jmeter\results
		${project.build.directory}\jmeter\html
		${project.build.directory}\jmeter\html1
		TestReport
	
	
		
			Codehaus repository
			http://repository.codehaus.org/
			
				true
				always
			
			
				true
				always
			
		
	
	
		vet2
		
			
				com.lazerycode.jmeter
				jmeter-maven-plugin
				2.1.0
				
					xml
					true
					flase
				
				
					
						test
						verify
						
							jmeter
						
						
					
				
			
			

			
				maven-compiler-plugin
				
					1.8
					1.8
					UTF-8
					
						src\test\jmeter\lib
					
				
			

			
				org.codehaus.mojo
				xml-maven-plugin
				1.0-beta-3
				
					
						verify
						
							transform
						
					
				
				
					
						
							${jmeter.result.jtl.dir}
							src\test\resources\jmeter-results-detail-report_21.xsl
							${jmeter.result.html.dir}
							
								
									html
								
							
						
						
							${jmeter.result.jtl.dir}
							src\test\resources\jmeter.results.shanhe.me.xsl
							${jmeter.result.html.dir1}
							
								
									html
								
							
						
					
				
			
			
				org.apache.maven.plugins
				maven-dependency-plugin
				
					
						copy-dependencies
						prepare-package
						
							copy-dependencies
						
						
							${project.build.directory}/jmeter/lib
							false
							false
							true
						
					
				
			
			
				org.apache.maven.plugins
				maven-jar-plugin
				
					
						
							true
							lib/
							theMainClass
						
					
				
			
			
			
			 
			maven-resources-plugin
			
				
					copy-resources-html
					compile
					
						copy-resources
					
					
						
						${project.build.directory}/jmeter/html
						
							
								
								${basedir}/src/test/resources
								true
							
						
					
				
			
			
				
		
		
			maven-resources-plugin
			
				
					copy-resources-lib
					compile
					
						copy-resources
					
					
						
						${project.build.directory}/jmeter/lib/ext
						
							
								
								${basedir}/src/test/lib
								false
							
						
					
				
			
					
				
			
		clean
	

4,调试工程,确保工程能正常运行

三,安装jenkins跟一些必要的插件

1,下载对应windows安装的jenkins

 

2,安装好jenkins后本地启动jenkins,进入插件管理界面,国内由于被墙了,所以需要配置一下。系统管理->管理插件->

高级->升级站点 中输入:http://updates.jenkins-ci.org/update-center.json 提交保存后,在地址栏输入

http://localhost:8080/restart重启,再次进入插件管理界面这时可选插件界面就会有内容了

 

3,需要安装的插件

Maven Integration plugin        Maven插件

Performance plugin 性能报告插件

HTML Publisher plugin HTTP report插件

Git plugin GIT 插件

 

4,插件安装好后,就可以新建一个项目了,这里我们选择构建一个maven项目,名称为bluemoon

Jenkins+maven+jmeter接口可持续集成自动化测试_第4张图片

 

选择Git,输入Git服务器的URL地址,用户名跟密码

Jenkins+maven+jmeter接口可持续集成自动化测试_第5张图片

 

Build选项中输入pom.xml文件路径

Jenkins+maven+jmeter接口可持续集成自动化测试_第6张图片

 

添加构建后操作,增加一个Publish HTML reports,html directory to archive为转译后html文件的保存路径,

index pages 为转译后的文件名称,report title 为jenkins中显示的标题

Jenkins+maven+jmeter接口可持续集成自动化测试_第7张图片

 

构建后操作还可以添加邮件服务模块,就是构建成功后会发送邮件通知,这里就不举例了。

 

5,点击应用,保存。这时就可以点击立即构建来触发构建功能了

Jenkins+maven+jmeter接口可持续集成自动化测试_第8张图片

 

6,Console putput可以查看输入日志,方便构建时查看哪里出现的问题

Jenkins+maven+jmeter接口可持续集成自动化测试_第9张图片

 

7,构建成功后,我们就可以查看脚本运行后的结果,点击performace或function来查看

Jenkins+maven+jmeter接口可持续集成自动化测试_第10张图片

 

这里可以看到生成的html在jenkins使用html publisher查看报告时,发现显示不美观,不全的现象,很多东西显示不了

在查看官方文档后,这原来是安全问题所导致的。

Jenkins安全默认是将以下功能都关闭了

1、javascript 2、html上的内置插件 3、内置css或从其它站的css 4、从其它站的图处 5、AJAX

我的网页使用的是css,所以显示不全。

解决这个问题可以在jenkins系统管理中输入以下脚本运行,就可以解决这个问题了

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

Jenkins+maven+jmeter接口可持续集成自动化测试_第11张图片Jenkins+maven+jmeter接口可持续集成自动化测试_第12张图片

 

四,最终效果

Jenkins+maven+jmeter接口可持续集成自动化测试_第13张图片Jenkins+maven+jmeter接口可持续集成自动化测试_第14张图片

 

五,遇到的其他一些问题

 

1、当我们jmeter脚本中要运用jdbc来连接数据库时,此时是需要jdbc驱动的,这里解决的办法就是在dependecy中增

加依赖,然后再把这个依赖包拷贝到target的lib库中,这样用于引用jdbc的jar包就放到了lib中,也就解决了找不到jdbc

驱动的问题


        mysql
        mysql-connector-java
        5.1.13
   

            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy-dependencies
                    prepare-package
                    
                        copy-dependencies
                    
                    
                        ${project.build.directory}/jmeter/lib
                        false
                        false
                        true
                    
                
            
        
        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        true
                        lib/
                        theMainClass
                    
                
            
        

2、如下图中,报告中有写图标是没有显示出来的,造成这个问题的原因是我们用jenkins持续集成时把把代码拷到target工程中没有把相应的图标拷贝过去,那么我们只

要把这个图标拷贝过去不就可以解决了吗?答案是肯定的。

Jenkins+maven+jmeter接口可持续集成自动化测试_第15张图片

把这两个图标文件一起放到工程中的src/test/resources目录下,再在pox中添加以下插件即可

这里我在pom文件中添加了一个插件,代码如下:


    maven-resources-plugin
    
        
            copy-resources
            compile
            
                copy-resources
            
            
                
                ${project.build.directory}/jmeter/html
                
                    
                        
                        ${basedir}/src/test/resources
                        true
                    
                
            
        
    

 

后面还遇到过其他坑,你如拷贝jar包后与原jar包md5不一致的问题,还有我们查看生成的html报告时不会出现没有Request跟Response内容的问题。具体的方法可以看我的另一篇文章,因为不想码字了所以直接放上连接:https://testerhome.com/topics/9010

你可能感兴趣的:(测试,Jmeter,Jenkins)