Jmeter +Maven+jenkins 接口性能全自动化测试

背景:

首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知,这样一来性能测试的job配置完成。接着,把性能测试的job配置成开发job的下游job,一旦开发有了新的代码提交运行开发自己的job后,就会自动触发我们性能测试的job。这样我们就实现了接口性能测试的全自动化,我们只需要关注测试失败的邮件!

1 环境搭建
下载安装 jdk &eclipse。
下载安装jenkins。
下载maven 并进行解压。
下载jmeter并解压。
2 准备性能测试的脚本
启动 jmeter (双击 jmeter解压目录下的bin\jmeter.bat)。
用jmeter书写test cases,并导出(推荐)。
Jmeter +Maven+jenkins 接口性能全自动化测试_第1张图片

 或者你可以用jmeter录制脚本,确保运行通过后,导出。
当然你可以选择用badboy录制脚本,确保运行通过后,导出。
3 为性能测试脚本创建maven project
打开eclipse,并创建一个 maven project。
在src/test/目录下创建jmeter文件夹把准备好的性能测试的脚本复制到这个文件夹下。

Jmeter +Maven+jenkins 接口性能全自动化测试_第2张图片

 在src/test/目录下创建resource文件夹,并把测试模板(E:\apache-jmeter-3.2\apache-jmeter-3.2\extras的如下文件)复制到这个resource文件下。

Jmeter +Maven+jenkins 接口性能全自动化测试_第3张图片

 

Jmeter +Maven+jenkins 接口性能全自动化测试_第4张图片

 并把如下文件从apache-jmeter-3.2\bin目录下复制到src/test/jmeter文件里。

Jmeter +Maven+jenkins 接口性能全自动化测试_第5张图片

 

  • 在maven脚本里添加jmeter-maven-plugin相关依赖如下:

    4.0.0
 
    com.performance.test
    PushNotificationPerformanceTest
    0.0.1-SNAPSHOT
    jar
 
    PushNotificationPerformanceTest
    http://maven.apache.org
 
    
        UTF-8
        ${project.build.directory}\jmeter\results
        ${project.build.directory}\jmeter\html
        ${project.build.directory}\jmeter\html1
        TestReport
    
 
    
        
            junit
            junit
            3.8.1
            test
        
    
 
    
        
            
                com.lazerycode.jmeter
                jmeter-maven-plugin
                2.1.0
                
                    
                        jmeter-tests
                        
                            jmeter
                        
                    
                
            
            
                org.codehaus.mojo
                xml-maven-plugin
                1.0-beta-3
                
                    
                        verify
                        
                            transform
                        
                    
                
                
                    
                        
                            ${jmeter.result.jtl.dir}
                            src\test\resources\jmeter-results-report-loadtest.xsl
                            ${jmeter.result.html.dir}
                            
                                
                                    html
                                
                            
                        
                        
                            ${jmeter.result.jtl.dir}
                            src\test\resources\jmeter.results.shanhe.me.xsl
                            ${jmeter.result.html.dir1}
                            
                                
                                    html
                                
                            
                        
                    
                
                
                 
                   
                   net.sf.saxon
                   saxon
                   8.7
                   
               
            
        
    
复制代码

4 在eclipse运行性能测试脚本

  • 选中性能测试的project 右击,然后在下拉框中选择run as -》maven build ,然后在弹出的对话框的Goals 写上verify,最hou点击run(如下图)。

Jmeter +Maven+jenkins 接口性能全自动化测试_第6张图片

运行后会有测试结果文件如下图

Jmeter +Maven+jenkins 接口性能全自动化测试_第7张图片

5 在jenkins 运行性能测试脚本并配置测试结果
在jenkins上安装如下插件:
Maven Integration plugin Maven,用于jenkins可以创建maven job
Git plugin ,用于从github下载性能测试的代码;
Performance plugin ,用于显示性能报告;
HTML Publisher plugin ,用于显示相关接口测试结果的报告。
在jenkins创建maven job

Jmeter +Maven+jenkins 接口性能全自动化测试_第8张图片

在jenkins上配置运行脚本

Jmeter +Maven+jenkins 接口性能全自动化测试_第9张图片 

在jenkins上配置测试结果报告

Jmeter +Maven+jenkins 接口性能全自动化测试_第10张图片 

  • 在jenkins 配置jdk和maven路径。
  • 配置完了,点击build now,便开始运行,运行结果如下图:

Jmeter +Maven+jenkins 接口性能全自动化测试_第11张图片

Jmeter +Maven+jenkins 接口性能全自动化测试_第12张图片 

总之:根据上面的步骤我们很容易就完成了对接口性能测试的全自动化过程!

ps:
关于显示测试结果:
1. 如在jenkins使用html publisher查看报告时,发现显示不美观,不全的现象,很多东西显示不了,
解决这个问题可以在jenkins系统管理中输入以下脚本运行,就可以解决这个问题了

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")复制代码

2.html结果好多为空,请把jmeter.property的相应的false改为true。 3.测试报告出现NaN 请在pom.xml里加上 using XSLT 2.0 依赖。


END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

Jmeter +Maven+jenkins 接口性能全自动化测试_第13张图片

 

你可能感兴趣的:(软件测试,自动化测试,面试,jmeter,maven,jenkins,自动化测试,软件测试)