Developer(s) | ThoughtWorks |
---|---|
Stable release | |
Repository | |
Written in | Go |
Operating system | Platform-independent |
Type | Test automation tool |
License | Apache License 2.0 |
Website | gauge |
Gauge is a light weight cross-platform test automation tool. It uses markdown to author test cases and scenarios. Its modular architecture makes it flexible and scalable.
Gauge specifications [2] are written in the business language. For example,
Find movies playing near me=========================== The System Under Test in this example is a web application to find and book movie tickets Search for movies-----------------*Specify location as "Bangalore" *Search for movie "Star Wars" *Verify that "INOX" is playing "Star Wars" at "7:30 pm" Book movie ticket-----------------*Sign up with email address <user@example.com> *Complete the verification *Select location as "Bangalore", the movie "Star Wars" and "3" seats *Confirm and pay *Verify the "e-ticket" has been sent to the registered email.
This Gauge specification describes a feature of the System Under Test. The scenarios [3] Search for movies
and Book movie ticket
represent a flow in this specification. Steps [4] are executable parts of a specification.
Specifications in Markdown abstracts code behind the steps.
For example, the step Specify location as "Bangalore"
implementation in Java
would look like
// This Method can be written in any java class as long as it is in classpath.publicclassStepImplementation{@Step("Specify location as <location>")publicvoidhelloWorld(Stringlocation){// Step implementation}}
Gauge has Support for writing test code in:
The Community contributed language runners are:
Gauge tests can be executed from the command line [5] or the supported IDEs. [6]
The default command gauge specs
run the tests sequentially.
The command gauge -p specs
will execute the tests in Parallel.
Gauge gives comprehensive test reports [7] that provides the required details of a given run.
Gauge's IDE support [6] helps to write and maintain the test suite.