一、jmeter脚本录制或编写
根据自己习惯录制或编写jmeter脚本,保证脚本可正确运行。
二、用eclipse创建maven项目
1.File->New->Project...打开new project窗口(如下图),
2.选择Maven下的Maven Project,点击【Next】.New Maven Project 窗口默认选项,点击【Next】.
3.选择maven-archetype-webapp,点击【Next】
4.自定义Group Id和Artifact Id,点击【Finish】
5.Maven项目创建成功
6.在工程中创建需要的文件夹
--Src/test/resources --存放报告模板文件
--src/test/jmeter --存放jmeter脚本文件跟一些接口调用的参数
7.编辑pom文件
<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/maven-v4_0_0.xsd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<modelVersion>4.0.0</modelVersion>
<groupId>autotest</groupId>
<artifactId>scripts</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>scripts Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId> <!--JUnit是Java的单元测试框架-->
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties> <!--results、store、zifu、html、html1、html2、html3这些目录都需要自己在svn创建-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jmeter.result.jtl.dir>${project.build.directory}\jmeter\results</jmeter.result.jtl.dir> <!--工作台下result目录,存放jmx脚本生成的jtl文件-->
<ReportName>TestReport</ReportName>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId> <!--A plugin to allow you to run JMeter tests with Maven.-->
<version>2.2.0</version>
<configuration>
<resultsFileFormat>xml</resultsFileFormat>
<ignoreResultFailures>true</ignoreResultFailures>
<testResultsTimestamp>flase</testResultsTimestamp>
<testFilesDirectory>src/test/jmeter/</testFilesDirectory>
<testFilesIncluded>
<jMeterTestFile>*.jmx</jMeterTestFile>
</testFilesIncluded>
<propertiesJMeter>
<CookieManager.save.cookies>true</CookieManager.save.cookies>
<overrideRootLogLevel>debug</overrideRootLogLevel>
<sampleresult.default.encoding>utf-8</sampleresult.default.encoding>
<jmeter.save.saveservice.data_type>true</jmeter.save.saveservice.data_type>
<jmeter.save.saveservice.label>true</jmeter.save.saveservice.label>
<jmeter.save.saveservice.response_code>true</jmeter.save.saveservice.response_code>
<jmeter.save.saveservice.response_data>true</jmeter.save.saveservice.response_data>
<jmeter.save.saveservice.response_data.on_error>true</jmeter.save.saveservice.response_data.on_error>
<jmeter.save.saveservice.response_message>true</jmeter.save.saveservice.response_message>
<jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful>
<jmeter.save.saveservice.thread_name>true</jmeter.save.saveservice.thread_name>
<jmeter.save.saveservice.time>true</jmeter.save.saveservice.time>
<jmeter.save.saveservice.subresults>true</jmeter.save.saveservice.subresults>
<jmeter.save.saveservice.assertions>true</jmeter.save.saveservice.assertions> <!--对jmeter.properties的属性值进行部分修改-->
<jmeter.save.saveservice.latency>true</jmeter.save.saveservice.latency>
<jmeter.save.saveservice.connect_time>true</jmeter.save.saveservice.connect_time>
<jmeter.save.saveservice.samplerData>true</jmeter.save.saveservice.samplerData>
<jmeter.save.saveservice.responseHeaders>true</jmeter.save.saveservice.responseHeaders>
<jmeter.save.saveservice.requestHeaders>true</jmeter.save.saveservice.requestHeaders>
<jmeter.save.saveservice.encoding>true</jmeter.save.saveservice.encoding>
<jmeter.save.saveservice.bytes>true</jmeter.save.saveservice.bytes>
<jmeter.save.saveservice.sent_bytes>true</jmeter.save.saveservice.sent_bytes>
<jmeter.save.saveservice.url>true</jmeter.save.saveservice.url>
<jmeter.save.saveservice.filename>true</jmeter.save.saveservice.filename>
<jmeter.save.saveservice.hostname>true</jmeter.save.saveservice.hostname>
<jmeter.save.saveservice.thread_counts>=true</jmeter.save.saveservice.thread_counts>
<jmeter.save.saveservice.sample_count>true</jmeter.save.saveservice.sample_count>
<jmeter.save.saveservice.idle_time>true</jmeter.save.saveservice.idle_time>
</propertiesJMeter>
<resultsDirectory>${jmeter.result.jtl.dir}</resultsDirectory> <!--jmx脚本生成目录——之前定义过的工作台下results目录,用${}形式引用,生成文件格式是jtl-->
<resultsFileFormat>xml</resultsFileFormat>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
<configuration>
<resultsFileFormat>jtl</resultsFileFormat> <!--jmx脚本文件生成相应jtl文件-->
</configuration>
</execution>
<execution>
<id>jmeter-check-results</id>
<goals>
<goal>results</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<defaultGoal>clean</defaultGoal>
</build>
</project>
8.调试maven项目
选中pom文件,右键选择【run as】->【Maven build...】,goals填写【verify】,点击【run】
jmeter-maven-plugin插件会自动引入jmeter类库,target目录下会自动生成jmeter等文件
注:构建maven项目时会把src/test/jmeter下的测试脚本复制到target/jmeter/testFiles路径下,所以如果需要修改或删除src/test/jmeter下的脚本,应将target/jmeter/testFiles路径下原来的脚本删除。