515439429 发表于 2018-1-7 19:00:52

Jmeter+maven+Jenkins构建云性能测试平台(二)

<plugin>  
<groupId>${project.groupId}</groupId>
  
<artifactId>jmeter-maven-plugin</artifactId>
  
<version>${project.version}</version>
  
<!-- configure different executions of the plugin -->
  
<executions>
  
<execution>
  
<!--
  
1)
  
first test run warms up the webserver.
  
Used to fill caches.
  
With a different set of properties since it runs much shorter than a normal test
  
and also the rate of requests/second may be much lower.
  
Maybe also use a different URL set.
  
-->
  
<id>warmup</id>
  
<phase>integration-test</phase>
  
<goals>
  
<goal>jmeter</goal>
  
</goals>
  
<configuration>
  
<propertiesUser>
  
<!--Accesses urls for warmup (compiles JSPs, fills caches, ...)-->
  
<threadgroup00.name>warmup</threadgroup00.name>
  
<!--number of threads to use-->
  
<threadgroup00.numberOfThreads>1</threadgroup00.numberOfThreads>
  
<!--delay of the test in seconds-->
  
<threadgroup00.scheduledDelay>0</threadgroup00.scheduledDelay>
  
<!--duration of the test in seconds-->
  
<threadgroup00.scheduledDuration>30</threadgroup00.scheduledDuration>
  
<!--how long till all threads are up and running in seconds-->
  
<threadgroup00.rampUp>1</threadgroup00.rampUp>
  
<!--target throughput of all threads of the group per minute-->
  
<!-- <threadgroup00.throughput>100000000</threadgroup00.throughput>-->
  
<!-- use uris from given file -->
  
<!-- <threadgroup00.dataFile>${webapp.uris}</threadgroup00.dataFile> -->
  
</propertiesUser>
  
</configuration>
  
</execution>
  
<execution>
  

  
<!--
  
2) Performance test
  
-->
  
<id>test</id>
  
<phase>integration-test</phase>
  
<goals>
  
<goal>jmeter</goal>
  
</goals>
  
<configuration>
  
<propertiesUser>
  
<!--A user which accesses all URLs-->
  
<threadgroup00.name>posc</threadgroup00.name>
  
<!--number of threads to use-->
  
<threadgroup00.numberOfThreads>30</threadgroup00.numberOfThreads>
  
<!--number of loops-->
  
<threadgroup00.numberOfLoops>2</threadgroup00.numberOfLoops>
  
<!--delay of the test in seconds-->
  
<threadgroup00.scheduledDelay>0</threadgroup00.scheduledDelay>
  
<!--duration of the test in seconds-->
  
<threadgroup00.scheduledDuration>30</threadgroup00.scheduledDuration>
  
<!--how long till all threads are up and running in seconds-->
  
<threadgroup00.rampUp>2</threadgroup00.rampUp>
  
<!--target throughput of all threads of the group per minute-->
  
<!-- <threadgroup00.throughput>100000000</threadgroup00.throughput>-->
  
<!-- use uris from given file -->
  
<!-- <threadgroup00.dataFile>${webapp.uris}</threadgroup00.dataFile>-->
  
</propertiesUser>
  
</configuration>
  
</execution>
  
</executions>
  

  
<!-- general configuration for all executions -->
  

  
<configuration>
  
<!-- configure which testplans to use -->
  
<testFilesIncluded>
  
<testFilesIncluded>PoscPaymentServiceImplService.jmx</testFilesIncluded>
  
</testFilesIncluded>
  

  
<!-- protocol, server and port of tested webapp -->
  
<propertiesUser>
  
<protocol>${webapp.protocol}</protocol>
  
<server>${webapp.host}</server>
  
<port>${webapp.port}</port>
  
</propertiesUser>
  
</configuration>
  
</plugin>
  

  
<plugin>
  
<groupId>${project.groupId}</groupId>
  
<artifactId>jmeter-analysis-maven-plugin</artifactId>
  
<version>${jmeter.analysis.maven.plugin.version}</version>
  
<executions>
  
<execution>
  
<goals>
  
<goal>analyze</goal>
  
</goals>
  
<phase>post-integration-test</phase>
  
<configuration>
  
<!--
  
source file that contains jmeter result data. Needs to be XML format or a GZIPed XML format
  
-->
  
<source>${project.build.directory}/jmeter/results/PoscPaymentServiceImplService-120613.jtl</source>
  

  
<!--
  
directory where to store analysis report files. At least a file "summary.txt" will be stored here.
  
-->
  
<targetDirectory>${project.build.directory}/reports</targetDirectory>
  

  
<!--
  
Defines groups of requests by URL patterns,
  
e.g. URIs starting with /mock/page are associated with group "pages". All analysis results are
  
If there is no such mapping then the threadgroups from the jmeter.xml are used.
  
-->
  
<!--<requestGroups>-->
  
<!--<test>/en-US/firefox/**</test>-->
  
<!--</requestGroups>-->
  

  
<!--
  
If set to true, additional files "<category>-sizes.csv" and "<category>-durations.csv" will be stored.

  
These files contain detailed information for response>  
-->
  
<generateCSVs>true</generateCSVs>
  

  
<!--
  
If set to true, additional chart files "<category>-durations.png" will be created.
  
-->
  
<generateCharts>true</generateCharts>
  

  
<!-- The database configuration -->
  

  
<userName>xxx</userName>
  

  
<passWord>xxx</passWord>
  

  
<dataBase>xxx</dataBase>
  

  
<host>xxx.xxx.xxx.xxx:3306</host>
  

  
<!--
  
Mapping from resource URL to file name. Every resource will be downloaded and stored in 'targetDirectory'
  
with the given filename. Tokens "_FROM_" and "_TO_" can be used as placeholders. These placeholders will
  
be replaced by timestamps of execution interval (formatted as ISO8601, e.g. '20111216T145509+0100').
  
-->
  
<!--<remoteResources>-->
  
<!--<property>-->
  
<!--<name>http://yourhost/path?from=_FROM_&amp;to=_TO_</name>-->
  
<!--<value>my_resource.txt</value>-->
  
<!--</property>-->
  
<!--</remoteResources>-->
  

  
</configuration>
  
</execution>
  
</executions>
  
</plugin>
页: [1]
查看完整版本: Jmeter+maven+Jenkins构建云性能测试平台(二)