Gatling Features
Learn some of the features that Gatling offers.
In the previous lesson, we introduced Gatling. In this lesson, we will learn about the features of Gatling.
Features of Gatling
The below diagram shows the important features of Gatling:
Expressive Scala DSL
Gatling is written completely in Scala. Gatling test scripts are also written in Scala. Gatling provides excellent self-explanatory DSL (Domain Specific Language) for developing the test scripts.
UI recorder
Gatling provides a standalone recorder that converts HTTP web actions to Gatling test scripts.
Rich utilities
Gatling provides rich utilities and natively supports passing the test data to the load test scenarios from CSV (comma-separated value), TSV (tab-separated value), SSV (space-separated value), JSON file, JSON content from URL, JDBC (Java Database Connectivity), and Redis.
Akka Actors
Gatling uses Akka Actors internally to make non-blocking requests that provide maximum efficiency.
Web Sockets & JMS support
Gatling provides support for JMS (Java Message Service), SSE (Server-Side Events), Web Sockets, and MQTT (MQ Telemetry Transport). MQTT support is only available in Gatling Frontline (the commercial version of Gatling). The other tools are all available in open-source as well.
Assertions
Gatling provides assertions and checks that can be performed on the received response. It also provides ways to extract data from response and transform that data, which can then be passed on to the subsequent calls in the chain.
Rich HTML report
Gatling provides a feature-rich HTML report, which contains information about the executed scenario, configuration with which they were executed, and statistics about the received response.
Integration with Grafana & StatsD
Gatling also provides ways to persist the execution report by exporting the results to Graphana, Influx Time Series Database, StatsD, etc.
Jenkins CI/CD integration
Gatling allows us to override the run configuration parameters at runtime, including the reporting configurations. This allows us to easily integrate with CI/CD pipelines.
Distributed load testing
Gatling allows us to run test scripts against multiple servers that are behind load balancers by distributing the load and making configuration changes.