gauge-web-app-steps
A Python module, that provides re-usable steps for testing web applications with the Gauge framework. Development on native app testing has only just started.
Description
This is an extensible and flexible test-automation library for Gauge. It enables users with and without programming knowledge to create end-to-end test scenarios in Markdown syntax. Developers can still easily extend their test scenarios with custom code. Selenium and Appium are used to simulate user interaction with the browser or app. A wide range of platforms and browsers are supported. Tests can also be executed on devices and emulators in the SauceLabs cloud.
Gauge Step Overview
Find the documentation on all Gauge steps of this project in the overview:
Quick Start
This is a library for the Gauge framework, so Gauge+Python must be installed first.
- Install Python >= 3.13 on your platform and make it available in the $PATH
- Install Gauge and create a test project with Python
It is useful to understand the basic workings of Gauge first. The documentation is excellent.
- Install the gauge-web-app-steps module
- Find out the path to this module after installation:
It should be in<project>/virtualenvironment/lib/python/site-packages/gauge-web-app-steps - Add that path to the property
STEP_IMPL_DIRinside the test project fileenv/default/python.properties. Paths to multiple modules are comma separated.
Example on a Mac:STEP_IMPL_DIR = /<gauge-project-path>/virtualenvironment/lib/python/site-packages/gauge_web_app_steps, step_impl - Restart Visual Studio Code
- Write a new scenario in
specs/example.spec. VSC offers auto-completion
Installation
First, create a virtual environment in your Gauge project directory.
cd <project>
python -m venv virtualenvironment
source virtualenvironment/bin/activate
The Gauge module loader does not like dots . in directories, so a link must be created in the virtual environment for the python packages:
cd <project>/virtualenvironment
ln -sf python3.13 python
Afterwards, the latest version can be downloaded and installed from PyPi:
pip install gauge-web-app-steps --upgrade
Alternatively, it can also be installed from source:
cd path/to/gauge-web-app-steps
pip install .
Development
When coding on this project, unit tests can be executed like this:
TEST_SKIP_IT=1 python -m unittest discover -v -s tests/ -p 'test_*.py'
Troubleshooting
Some known inter-operability issues can be found on the troubleshooting page. If things don't work immediately, a solution might already be documented there.
Configuration
The Configuration follows the Gauge configuration approach. A lot of behaviour, including the browsers and devices to use for the tests, can be determined with properties.
Expressions in Parameters
Property Placeholders
Step parameters allow the use of placeholders, that can be defined in the Gauge environment properties files. Some steps also allow to set a placeholder value manually. Property keys act as placeholders, they are defined like ${key}. They will be replaced by its value if such a property key/value pair exists in any env/*/*.properties file or within the execution scope.
Mathematical Expressions
Mathematical expressions can also be evaluated. For example: #{5 + 5 * 5} is evaluated to 30.
It is possible to combine the two features. Placeholder substitution takes place before mathematical expression evaluation.
Functional Expressions
Functional expressions will generate a result during step execution. There are 2 expressions: One will generate a UUID, and the other will yield the current date and time: !{uuid}, !{time}, !{time:%Y-%m-%d}. The time format is optional, if omitted ISO format will be used. The time format pattern is described in the Python language documentation.
Expression Examples
Note that the property expressions start with $, mathematical expressions with #, and functional expressions with !.
* Open "${homepage_url}/home"
* Assert "id" = "sum" equals "#{5 + 6}"
* Assert "id" = "sum" equals "#{$addend + 5 * 5}"
* Type "!{uuid}"
* Type "!{time}"
* Type "!{time:%Y-%m-%d}"
The property "homepage_url" can be defined in env/default/test.properties like this:
homepage_url = https://my-app.net
It is also possible to define a property in a step:
* Save placeholder "addend" = "5"
Maintainers
Metadata
Release files for gauge-web-app-steps 0.68
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gauge_web_app_steps-0.68.tar.gz | 38.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gauge_web_app_steps-0.68-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.6 kB
Release files / gauge_web_app_steps-0.68.tar.gz
| Download URL | gauge_web_app_steps-0.68.tar.gz |
|---|---|
| Size | 38.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02e153d86070431ac62dc30e3aaaa1261a29801f7731c7f49242905a929e2de2
|
|
BLAKE2b-256 checksum How to use checksums |
1c705556e363cf9348c0bd7bc0c213d0ea36b8ccc39a7e0c8e8acc0e8ec94f14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 14, 2026.
Transparency logRelease files / gauge_web_app_steps-0.68-py3-none-any.whl
| Download URL | gauge_web_app_steps-0.68-py3-none-any.whl |
|---|---|
| Size | 37.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a7d3f4e64fe04a12ca442c2fe7aae190885ead16a38af59f4ed91c9434db474
|
|
BLAKE2b-256 checksum How to use checksums |
b9b4618b3eedcb776c0093bd1673d81bf420c149e6054af31ef3f0e93c8027b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 14, 2026.
Transparency log