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>demofor</groupId>
<artifactId>demofor</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>io.gatling.highcharts</groupId>
<artifactId>gatling-charts-highcharts</artifactId>
<version>2.2.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!-- Run all [matching] tests] on mvn test -->
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>2.2.4</version>
<configuration>
<simulationsFolder>${user.dir}/src/main/java</simulationsFolder>
<!--<includes>-->
<!--<include>com.jane.DemoOne</include>-->
<!--</includes>-->
<!--<excludes>-->
<!--<exclude>Demo.scala</exclude>-->
<!--</excludes>-->
<simulationClass>com.jane.DemoOne</simulationClass>
</configuration>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<jvmArgs>
<jvmArg>-Dgatling.http.ahc.connectTimeout=6000000</jvmArg>
<jvmArg>-Dgatling.http.ahc.requestTimeout=6000000</jvmArg>
<jvmArg>-Dgatling.http.ahc.sslSessionTimeout=6000000</jvmArg>
<jvmArg>-Dgatling.http.ahc.pooledConnectionIdleTimeout=6000000</jvmArg>
<jvmArg>-Dgatling.http.ahc.readTimeout=6000000</jvmArg>
</jvmArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
class Demo extends Simulation{
val httpProtocol = http
.baseURL("your-url")
.inferHtmlResources()
.acceptHeader("image/webp,image/*,*/*;q=0.8")
.acceptEncodingHeader("gzip, deflate, sdch")
.acceptLanguageHeader("zh-CN,zh;q=0.8")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36")
val header_1 = Map("Accept" -> "*/*")
var scn = scenario("Demo").exec(http("request_0").get("your-interface"))
setUp(scn.inject(rampUsers(10) over(5 seconds))).protocols(httpProtocol)
}
运行方式:
mvn test