Last active
March 11, 2023 12:07
-
-
Save polarnik/2e2a86b39d90e515b21fb159a6837e1c to your computer and use it in GitHub Desktop.
Gatling 3.7 Java-DSL Engine
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import io.gatling.app.Gatling; | |
import org.testng.annotations.Test; | |
import scala.collection.mutable.HashMap; | |
@Test(singleThreaded = true) | |
public class DebugTest { | |
final private HashMap<String, String> config = new HashMap<>(); | |
{ | |
config.put("gatling.core.directory.resources", IDEPathHelper.resourcesDirectory.toString()); | |
config.put("gatling.core.directory.results", IDEPathHelper.resultsDirectory.toString()); | |
config.put("gatling.core.directory.binaries", IDEPathHelper.binariesDirectory.toString()); | |
} | |
void runSimulation(String simulationClass, String description) { | |
config.put("gatling.core.simulationClass", simulationClass); | |
config.put("gatling.core.runDescription", description); | |
Gatling.fromMap(config); | |
} | |
@Test | |
void debugMaxPerfSimulation() { | |
runSimulation( | |
"simulation.MaxPerfSimulation", | |
"hello qa_load"); | |
} | |
@Test | |
void generateReport() { | |
HashMap<String, String> configLocal = new HashMap<>(); | |
{ | |
configLocal.put("gatling.charting.maxPlotPerSeries", "50"); | |
configLocal.put("gatling.core.directory.reportsOnly", "/Users/user/target/gatling/maxperfsimulation-20220321094726824"); | |
} | |
Gatling.fromMap(configLocal); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.nio.file.Path; | |
import java.nio.file.Paths; | |
public final class IDEPathHelper { | |
public static final Path projectRootDir = Paths.get(System.getProperty("user.dir")); | |
public static final Path sourcesDirectory = projectRootDir.resolve("src/test/java-gatling"); | |
public static final Path simulationsDirectory = sourcesDirectory.resolve("simulation"); | |
public static final Path resourcesDirectory = projectRootDir.resolve("src/test/resources"); | |
public static final Path targetDirectory = projectRootDir.resolve("target"); | |
public static final Path binariesDirectory = targetDirectory.resolve("test-classes"); | |
public static final Path resultsDirectory = targetDirectory.resolve("gatling"); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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"> | |
<modelVersion>4.0.0</modelVersion> | |
<artifactId>gatling-java-test</artifactId> | |
<name>${project.groupId}.${project.artifactId}</name> | |
<description>Performance tests gatling-java</description> | |
<!-- Properties --> | |
<properties> | |
<maven.compiler.target>11</maven.compiler.target> | |
<maven.compiler.source>11</maven.compiler.source> | |
<gatling.version>3.7.6</gatling.version> | |
<gatling-plugin.version>4.1.3</gatling-plugin.version> | |
<testng.version>7.5</testng.version> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
<maven.version>3.8.1</maven.version> | |
<xmx>3000</xmx> | |
<testId>${maven.build.timestamp}</testId> | |
<isStable>0</isStable> | |
<isMaxPerf>0</isMaxPerf> | |
<duration>0</duration> | |
<tps>0.0</tps> | |
<thread_count>0</thread_count> | |
<title></title> | |
<simulationClass></simulationClass> | |
<noReports>false</noReports> | |
<continueOnAssertionFailure>false</continueOnAssertionFailure> | |
</properties> | |
<dependencies> | |
<dependency> | |
<groupId>io.gatling.highcharts</groupId> | |
<artifactId>gatling-charts-highcharts</artifactId> | |
<version>${gatling.version}</version> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.testng</groupId> | |
<artifactId>testng</artifactId> | |
<version>${testng.version}</version> | |
<scope>test</scope> | |
</dependency> | |
</dependencies> | |
<build> | |
<testSourceDirectory>${project.basedir}/src/test/java-gatling</testSourceDirectory> | |
<plugins> | |
<plugin> | |
<groupId>io.gatling</groupId> | |
<artifactId>gatling-maven-plugin</artifactId> | |
<version>${gatling-plugin.version}</version> | |
<configuration> | |
<configFolder>${project.basedir}/src/test/resources</configFolder> | |
<cd>${project.basedir}/src/test/resources</cd> | |
<continueOnAssertionFailure>${continueOnAssertionFailure}</continueOnAssertionFailure> | |
<excludes></excludes> | |
<includes></includes> | |
<failOnError>true</failOnError> | |
<jvmArgs> | |
<arg>-server</arg> | |
<arg>-Xmx${xmx}m</arg> | |
<arg>-XX:-MaxFDLimit</arg> | |
</jvmArgs> | |
<overrideJvmArgs>false</overrideJvmArgs> | |
<noReports>${noReports}</noReports> | |
<propagateSystemProperties>true</propagateSystemProperties> | |
<reportsOnly></reportsOnly> | |
<resultsFolder>${project.build.directory}/gatling</resultsFolder> | |
<runDescription></runDescription> | |
<runMultipleSimulations>false</runMultipleSimulations> | |
<simulationClass>${simulationClass}</simulationClass> | |
<skip>false</skip> | |
<useOldJenkinsJUnitSupport>false</useOldJenkinsJUnitSupport> | |
<workingDirectory></workingDirectory> | |
</configuration> | |
</plugin> | |
</plugins> | |
</build> | |
</project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment