Skip to content

Instantly share code, notes, and snippets.

@djangofan
Created September 16, 2015 20:25
Show Gist options
  • Save djangofan/1b066fc4a8713ee16b61 to your computer and use it in GitHub Desktop.
Save djangofan/1b066fc4a8713ee16b61 to your computer and use it in GitHub Desktop.
For Jmeter, a pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>launch-jmeter</artifactId>
<version>1.0</version>
<description>https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Advanced-Configuration</description>
<name>launch-jmeter</name>
<url>https://github.com/djangofan/launch-jmeter</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jmeter.maven.plugin.version>1.10.1</jmeter.maven.plugin.version>
<jmeter.lib.plugins.version>1.2.1</jmeter.lib.plugins.version>
<groovy.all.version>2.4.3</groovy.all.version>
<ignore.failures>true</ignore.failures>
<suppress.jmeter.output>false</suppress.jmeter.output>
<jmeter.results.output.format>xml</jmeter.results.output.format>
<jmeter.timestamp>false</jmeter.timestamp>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>${jmeter.maven.plugin.version}</version>
<configuration>
<testResultsTimestamp>false</testResultsTimestamp>
<overrideRootLogLevel>INFO</overrideRootLogLevel>
<suppressJMeterOutput>false</suppressJMeterOutput>
<ignoreResultFailures>true</ignoreResultFailures>
<propertiesUser>
<webservice.host>${performancetest.webservice.host}</webservice.host>
<webservice.port>${performancetest.webservice.port}</webservice.port>
<webservice.path>${performancetest.webservice.path}</webservice.path>
<webservice.connectTimeout>${performancetest.connectTimeout}</webservice.connectTimeout>
<webservice.responseTimeout>${performancetest.responseTimeout}</webservice.responseTimeout>
<threadCount>${performancetest.threadCount}</threadCount>
<loopCount>${performancetest.threadCount}</loopCount>
</propertiesUser>
<propertiesJMeter>
<jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts>
<CookieManager.save.cookies>true</CookieManager.save.cookies>
<view.results.tree.max_size>0</view.results.tree.max_size>
</propertiesJMeter>
<jmeterPlugins>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-common</artifactId>
</plugin>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-standard</artifactId>
</plugin>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras</artifactId>
</plugin>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras-libs</artifactId>
</plugin>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-webdriver</artifactId>
</plugin>
</jmeterPlugins>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
<configuration>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-common</artifactId>
<version>${jmeter.lib.plugins.version}</version>
</dependency>
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-standard</artifactId>
<version>${jmeter.lib.plugins.version}</version>
</dependency>
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras</artifactId>
<version>${jmeter.lib.plugins.version}</version>
</dependency>
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-extras-libs</artifactId>
<version>${jmeter.lib.plugins.version}</version>
</dependency>
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-webdriver</artifactId>
<version>${jmeter.lib.plugins.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.all.version}</version>
</dependency>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-analysis-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>post-integration-test</phase>
<goals>
<goal>analyze</goal>
</goals>
<configuration>
<source>${project.build.directory}/jmeter/results/*.jtl</source>
<targetDirectory>${project.build.directory}/jmeter/results/report</targetDirectory>
<!--
<sourceDirFailed>true</sourceDirFailed>
<checkResult>
<throughput>
<threshold>-1</threshold>
<toleranceDirection>UPPER_LOWER_TOLERANCE</toleranceDirection>
<tolerance>5</tolerance>
</throughput>
<errors>
<threshold>-1</threshold>
<toleranceDirection>UPPER_LOWER_TOLERANCE</toleranceDirection>
<tolerance>5</tolerance>
</errors>
</checkResult>
<generateCSVs>true</generateCSVs>
<generateCharts>true</generateCharts>
<configurationCharts>
<width>950</width>
<height>500</height>
</configurationCharts>
<maxSamples>50000</maxSamples>
<preserveDirectories>false</preserveDirectories>
<sampleNames>
<sampleName>sample</sampleName>
<sampleName>httpSample</sampleName>
</sampleNames>
<processAllFilesFound>false</processAllFilesFound>
<templateDirectory>${project.basedir}/src/main/resources/</templateDirectory>
-->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
</dependencies>
<profiles>
<profile>
<!-- defines profile to run jmeter project -->
<id>run-performance-tests</id>
<build>
<directory>target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<!-- add dependencies for all Jmeter add-ons to support all variations of jmeter projects -->
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>${jmeter.maven.plugin.version}</version>
<executions>
<!-- defines a runner for jmeter tests project -->
<execution>
<id>jmeter-tests</id>
<phase>test</phase>
<goals>
<goal>jmeter</goal>
</goals>
<configuration>
<resultsDirectory>${project.build.directory}/jmeter/results</resultsDirectory>
<ignoreResultFailures>${ignore.failures}</ignoreResultFailures>
<suppressJMeterOutput>${suppress.jmeter.output}</suppressJMeterOutput>
<resultsFileFormat>${jmeter.results.output.format}</resultsFileFormat>
<testResultsTimestamp>${jmeter.timestamp}</testResultsTimestamp>
<testFilesIncluded>
<jMeterTestFile>test1.jmx</jMeterTestFile>
<jMeterTestFile>test2.jmx</jMeterTestFile>
</testFilesIncluded>
<propertiesJMeter>
<!-- number of threads jmeter will execute in a given thread group-->
<threads>${envThreads}</threads>
<!-- number of times each jmeter thread will loop through thread group test plan -->
<loops>${envLoops}</loops>
<!-- total seconds within which threads will be ramped-up/started by jmeter at an even interval -->
<rampupseconds>${envRampup}</rampupseconds>
</propertiesJMeter>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment