For support, please visit https://github.com/getgauge/gauge-gradle-plugin
Use the gauge-gradle-plugin to execute specifications in your Gauge java project and manage dependencies using Gradle.
Apply plugin gauge and add classpath to your build.gradle. Here is a sample gradle file,
apply plugin: 'java'
apply plugin: 'gauge'
apply plugin: 'application'
group = "my-gauge-tests"
version = "1.1.0"
description = "My Gauge Tests"
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.thoughtworks.gauge.gradle:gauge-gradle-plugin:+'
}
}
repositories {
mavenCentral()
}
dependencies {
'com.thoughtworks.gauge:gauge-java:+',
}
// configure gauge task here (optional)
gauge {
specsDir = 'specs'
inParallel = true
nodes = 2
env = 'dev'
tags = 'tag1'
additionalFlags = '--verbose'
gaugeRoot = '/opt/gauge'
}
Older Versions of the Plugin are also available at Gradle Plugin Portal. For an uptodate version of the Plugin please use buildscript
and mavenCentral()
in your build.gradle as shown in the example above.
To execute gauge specs,
gradle gauge
gradle gauge -PspecsDir="specs/first.spec specs/second.spec"
gradle gauge -PinParallel=true -PspecsDir=specs
gradle gauge -Ptags="!in-progress" -PspecsDir=specs
gradle gauge -Penv="dev" -PspecsDir=specs
Note : Pass specsDir parameter as the last one.
The following plugin properties can be additionally set:
Property name | Usage | Description |
---|---|---|
specsDir | -PspecsDir=specs | Gauge specs directory path. Required for executing specs |
tags | -Ptags="tag1 & tag2" | Filter specs by specified tags expression |
inParallel | -PinParallel=true | Execute specs in parallel |
nodes | -Pnodes=3 | Number of parallel execution streams. Use with parallel |
env | -Penv=qa | gauge env to run against |
additionalFlags | -PadditionalFlags="--verbose" | Add additional gauge flags to execution |
gaugeRoot | -PgaugeRoot="/opt/gauge" | Path to gauge installation root |
See gauge's command line interface for list of all flags that be used with -PadditionalFlags option.
It is possible to define new custom Gauge tasks by extending GaugePlugin
class. It can be used to create/configure tasks specific for different environments. For example,
task gaugeDev(type: GaugeTask) {
doFirst {
gauge {
specsDir = 'specs'
inParallel = true
nodes = 2
env = 'dev'
additionalFlags = '--verbose'
}
}
}
task gaugeTest(type: GaugeTask) {
doFirst {
gauge {
specsDir = 'specs'
inParallel = true
nodes = 4
env = 'test'
additionalFlags = '--verbose'
}
}
}
Gauge Gradle Plugin is released under GNU Public License Version 3.0