maven+jenkins+jmeter性能测试:maven把项目依赖拷贝到项目指定位置

先上pom.xml配置:

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3   <modelVersion>4.0.0</modelVersion>
  4   <groupId>com.tongdun</groupId>
  5   <artifactId>jmeter-demo</artifactId>
  6   <packaging>jar</packaging>
  7   <version>1.0-SNAPSHOT</version>
  8   <name>jmeter-demo</name>
  9   <url>http://maven.apache.org</url>
 10 
 11 
 12 
 13 <!-- <dependencyManagement> -->
 14         <dependencies>
 15   <dependency>
 16     <groupId>kg.apc</groupId>
 17     <artifactId>jmeter-plugins-casutg</artifactId>
 18     <version>2.1</version>
 19 </dependency>
 20 <dependency>
 21     <groupId>kg.apc</groupId>
 22     <artifactId>jmeter-plugins-graphs-basic</artifactId>
 23     <version>2.0</version>
 24 </dependency>
 25 <dependency>
 26     <groupId>kg.apc</groupId>
 27     <artifactId>jmeter-plugins-graphs-additional</artifactId>
 28     <version>2.0</version>
 29 </dependency>
 30 </dependencies>
 31 <!-- </dependencyManagement> -->
 32         
 33 
 34 
 35   <build>
 36       <plugins>
 37 
 38     <plugin>  
 39         <groupId>org.apache.maven.plugins</groupId>  
 40         <artifactId>maven-dependency-plugin</artifactId>  
 41         <version>2.8</version>  
 42         <executions>  
 43             <execution>  
 44                 <phase>package</phase>  
 45                 <goals>  
 46                     <goal>copy-dependencies</goal>  
 47                 </goals>  
 48             </execution>  
 49         </executions>  
 50          <configuration>  
 51                  <includeArtifactIds>jmeter-plugins-casutg,jmeter-plugins-graphs-basic,jmeter-plugins-graphs-additional</includeArtifactIds>  
 52                  <outputDirectory>target/jmeter/lib/ext</outputDirectory>
 53          </configuration>
 54     </plugin>  
 55 
 56         <!-- <plugin>
 57           <groupId>kg.apc</groupId>
 58           <artifactId>jmeter-plugins-casutg</artifactId>
 59           <version>2.1</version>
 60           <executions>
 61           <execution>
 62             <id>copy-dependencies</id>
 63             <phase>package</phase>
 64             <goals>
 65               <goal>copy-dependencies</goal>
 66             </goals>
 67             <configuration>
 68               <outputDirectory>/var/lib/jenkins/workspace/jmeter-demo/target/jmeter/lib/ext</outputDirectory>
 69               <overWriteReleases>false</overWriteReleases>
 70               <overWriteSnapshots>false</overWriteSnapshots>
 71               <overWriteIfNewer>true</overWriteIfNewer>
 72             </configuration>
 73           </execution>
 74         </executions>
 75         </plugin> -->
 76           <plugin>
 77               <groupId>com.lazerycode.jmeter</groupId>
 78               <artifactId>jmeter-maven-plugin</artifactId>
 79               <!-- <version>1.10.0</version> -->
 80               <executions>
 81                   <execution>
 82                       <id>jmeter-tests</id>
 83                       <phase>verify</phase>
 84                       <goals>
 85                           <goal>jmeter</goal>
 86                           <!-- <goal>copy</goal> -->
 87                       </goals>
 88                   </execution>
 89               </executions>
 90 
 91               <configuration>
 92                 <appendResultsTimestamp>true</appendResultsTimestamp>
 93                 <resultsFileNameDateFormat>yyyyMMddHHmmss</resultsFileNameDateFormat>
 94                 <propertiesUser>  
 95                   <test_url>${webapp.url}</test_url>  
 96                   <port>${webapp.port}</port>
 97                 </propertiesUser>  
 98 
 99                 <propertiesJMeter>
100                   <test_url>${webapp.url}</test_url>  
101                   <port>${webapp.port}</port>
102                 </propertiesJMeter>
103               </configuration>
104 
105           </plugin>
106 
107           <plugin>
108             <groupId>com.lazerycode.jmeter</groupId>
109             <artifactId>jmeter-analysis-maven-plugin</artifactId>
110             <executions>
111                 <execution>
112                     <phase>verify</phase>
113                     <goals>
114                         <goal>analyze</goal>
115                     </goals>
116                     <configuration>
117                         <source>${project.build.directory}/**/*.jtl</source>
118                         <targetDirectory>${project.build.directory}/results</targetDirectory>
119                         <processAllFilesFound>true</processAllFilesFound>
120                     </configuration>
121                 </execution>
122             </executions>
123           </plugin>
124       </plugins>
125   </build>
126   <properties>
127     <webapp.url>http</webapp.url>
128     <webapp.port>80</webapp.port>
129     <!-- <project.build.directory>/Users/zzf/test/jmeter-demo/target/jmeter</project.build.directory> -->
130   </properties>
131 </project>
View Code

1、maven使用jmeter进行性能测试的时候,所使用的jmeter插件,只有jmeter默认自带的插件

2、图示jmeter配置中带“@”符号的,都是扩展插件的功能

3、如何在maven使用场景下使用扩展插件?

方法就是在pom.xml里添加依赖,把需要的插件通过依赖下载下来,然后再把依赖拷贝到项目的jmeter的扩展插件路径下jmeter/lib/ext

添加依赖:

 1 <dependencies>
 2   <dependency>
 3     <groupId>kg.apc</groupId>
 4     <artifactId>jmeter-plugins-casutg</artifactId>
 5     <version>2.1</version>
 6 </dependency>
 7 <dependency>
 8     <groupId>kg.apc</groupId>
 9     <artifactId>jmeter-plugins-graphs-basic</artifactId>
10     <version>2.0</version>
11 </dependency>
12 <dependency>
13     <groupId>kg.apc</groupId>
14     <artifactId>jmeter-plugins-graphs-additional</artifactId>
15     <version>2.0</version>
16 </dependency>
17 </dependencies>
pom.xml依赖

copy依赖到jmeter扩展插件所在路径下

 1 <build>
 2    <plugins>
 3     <plugin>  
 4         <groupId>org.apache.maven.plugins</groupId>  
 5         <artifactId>maven-dependency-plugin</artifactId>  
 6         <version>2.8</version>  
 7         <executions>  
 8             <execution>  
 9                 <phase>package</phase>  
10                 <goals>  
11                     <goal>copy-dependencies</goal>  
12                 </goals>  
13             </execution>  
14         </executions>  
15          <configuration>  
16                  <includeArtifactIds>jmeter-plugins-casutg,jmeter-plugins-graphs-basic,jmeter-plugins-graphs-additional</includeArtifactIds>  
17                  <outputDirectory>target/jmeter/lib/ext</outputDirectory>
18          </configuration>
19     </plugin>  
20   </plugins>
21 </build>
view code

includeArtifactIds表示只拷贝指定的插件,多个插件之间,逗号分割,不然会拷贝大量的无关插件

原文地址:https://www.cnblogs.com/shengulong/p/6562291.html