冰恋 发表于 2018-1-9 19:49:20

使用Jenkins和Jmeter搭建性能测试平台

参考文档:http://blog.csdn.net/liuchunming033/article/details/52186157

jenkins的性能测试结果展现插件:https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin

maven执行使用的jmeter插件:https://github.com/jmeter-maven-plugin/jmeter-maven-plugin

Jmeter-maven-plugin高级配置之选择测试脚本
  在pom.xml文件中可以指定运行哪些jmx脚本。

运行所有的测试脚本
  Jmeter默认运行${project.base.directory}/src/test/jmeter文件夹中的所有脚本,下面是示例。

https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif  

<project>  
         [...]
  
             <build>
  
               <plugins>
  
                     <plugin>
  
                         <groupId>com.lazerycode.jmeter</groupId>
  
                         <artifactId>jmeter-maven-plugin</artifactId>
  
                         <version>1.9.0</version>
  
                         <executions>
  
                           <execution>
  
                                 <id>jmeter-tests</id>
  
                                 <phase>verify</phase>
  
                                 <goals>
  
                                     <goal>jmeter</goal>
  
                                 </goals>
  
                           </execution>
  
                         </executions>
  
                     </plugin>
  
               </plugins>
  
             </build>
  
         [...]
  
   </project>
  


View Code  运行mvn verify即可。

使用<testFilesIncluded>指定运行的脚本文件
  我们可以通过<testFilesIncluded>这个标签来手动指定jmx文件。样例如下:

https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif  

<plugin>  
         <groupId>com.lazerycode.jmeter</groupId>
  
         <artifactId>jmeter-maven-plugin</artifactId>
  
         <version>1.9.0</version>
  
         <executions>
  
            <execution>
  
                  <id>jmeter-tests</id>
  
                  <phase>verify</phase>
  
                  <goals>
  
                      <goal>jmeter</goal>
  
                  </goals>
  
                  <configuration>
  
                     <testFilesIncluded>
  
                           <jMeterTestFile>test1.jmx</jMeterTestFile>
  
                           <jMeterTestFile>test2.jmx</jMeterTestFile>
  
                     </testFilesIncluded>
  
                  </configuration>
  
             </execution>
  
      </executions>
  
   </plugin>
  


View Code  当我们执行mvn verify时,只有${project.base.directory}/src/test/jmeter文件夹中的test1.jmx、test2.jmx会执行。

在<testFilesIncluded>中使用正则表达式
  <testFilesIncluded>标签支持正则表达式,下面的示例,指定以foo开头的所有jmx文件。
  

  

https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif
  

<plugin>  
               <groupId>com.lazerycode.jmeter</groupId>
  
               <artifactId>jmeter-maven-plugin</artifactId>
  
               <version>1.9.0</version>
  
               <executions>
  
                     <execution>
  
                         <id>jmeter-tests</id>
  
                         <phase>verify</phase>
  
                         <goals>
  
                           <goal>jmeter</goal>
  
                         </goals>
  
                         <configuration>
  
                           <testFilesIncluded>
  
                                 <jMeterTestFile>foo*.jmx</jMeterTestFile>
  
                           </testFilesIncluded>
  
                         </configuration>
  
                     </execution>
  
               </executions>
  
             </plugin>
  


View Code
使用<testFilesExcluded>标签反向指定jmx文件
  我们还可以使用排除法,来指定不要运行${project.base.directory}/src/test/jmeter文件夹中的文件。样例:
  

  

https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif
  

<plugin>  
               <groupId>com.lazerycode.jmeter</groupId>
  
               <artifactId>jmeter-maven-plugin</artifactId>
  
               <version>1.9.0</version>
  
               <executions>
  
                     <execution>
  
                         <id>jmeter-tests</id>
  
                         <phase>verify</phase>
  
                         <goals>
  
                           <goal>jmeter</goal>
  
                         </goals>
  
                         <configuration>
  
                           <testFilesExcluded>
  
                                 <excludeJMeterTestFile>test3.jmx</excludeJMeterTestFile>
  
                                 <excludeJMeterTestFile>test4.jmx</excludeJMeterTestFile>
  
                           </testFilesExcluded>
  
                         </configuration>
  
                     </execution>
  
               </executions>
  
             </plugin>
  


View Code  当我们运行mvn verify时,${project.base.directory}/src/test/jmeter文件夹中除了test3.jmx和test4.jmx,其他的jmx文件都会执行。

<testFilesExcluded>标签使用正则表达式
  反向指定jmx文件时,也可以使用正则表达式,样例:

https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif  

<plugin>  
               <groupId>com.lazerycode.jmeter</groupId>
  
               <artifactId>jmeter-maven-plugin</artifactId>
  
               <version>1.9.0</version>
  
               <executions>
  
                     <execution>
  
                         <id>jmeter-tests</id>
  
                         <phase>verify</phase>
  
                         <goals>
  
                           <goal>jmeter</goal>
  
                         </goals>
  
                         <configuration>
  
                           <testFilesExcluded>
  
                                 <excludeJMeterTestFile>*bar.jmx</excludeJMeterTestFile>
  
                           </testFilesExcluded>
  
                         </configuration>
  
                     </execution>
  
               </executions>
  
             </plugin>
  


View Code  运行时,以bar结束的jmx文件都会排除在外。

<testFilesDirectory>标签指定jmx文件夹
  我们还可以自定义jmx文件的位置(默认是${project.base.directory}/src/test/jmeter)。

https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttps://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif  

<plugin>  
               <groupId>com.lazerycode.jmeter</groupId>
  
               <artifactId>jmeter-maven-plugin</artifactId>
  
               <version>1.9.0</version>
  
               <executions>
  
                     <execution>
  
                         <id>jmeter-tests</id>
  
                         <phase>verify</phase>
  
                         <goals>
  
                           <goal>jmeter</goal>
  
                         </goals>
  
                         <configuration>
  
                           <testFilesDirectory>/scratch/testfiles/</testFilesDirectory>
  
                         </configuration>
  
                     </execution>
  
               </executions>
  
             </plugin>
  


View Code  各个配置含义及解读:https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Advanced-Configuration
页: [1]
查看完整版本: 使用Jenkins和Jmeter搭建性能测试平台