These days I had the opportunity to write some Gatling tests - an open-source load testing framework based on Scala, Akka and Netty.
We started with a very basic smoke test for Planets: A single user checking the server version URL.
The tests are written in Scala:
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
class SmokeTest extends Simulation {
  val baseUrl = "https://planets.datenkollektiv.de"
  val httpProtocol = http.baseURL(baseUrl)
  val pingScenario = scenario("PingPlanetsServer")
    .exec(http("request_planets_server_version")
    .get("/planets/server/version")
  )
  setUp(pingScenario.inject(atOnceUsers(1))).protocols(httpProtocol)
}
and integrated into our Gradle build:
apply plugin: 'scala'
The Gatling dependencies:
dependencies {
  compile group: 'io.gatling', name: 'gatling-app', version: gatlingVersion
  compile group: 'io.gatling', name: 'gatling-recorder', version: gatlingVersion
  compile group: 'io.gatling.highcharts', name: 'gatling-charts-highcharts', version: gatlingVersion
}
And a simple JavaExec task:
task gatling(type: JavaExec, dependsOn: 'compileTestScala') {
  classpath = sourceSets.test.output + sourceSets.test.runtimeClasspath
  main = 'io.gatling.app.Gatling'
  args '-sf', sourceSets.test.output,
    '-bf', sourceSets.test.output.classesDir,
    '-s', 'SmokeTest',
    '-rf', "${project.buildDir}" + '/reports/gatling'
}
That's all you need to run this simple smoke test:
$ ./gradlew gatling