Skip to content

Standalone Usage (No Jira, Local Keycloak) ​

ATAF was built for agile teams that manage tests in Jira and Xray, but none of that is required. You can use the framework as a plain Cucumber + Selenium + REST Assured stack: feature files live in your Git repository, reports stay in target/, and UI tests authenticate against a local Keycloak instead of a corporate or government SSO environment.

This is how the zmsautomation test suite in the eAppointment project is set up today.

Without Jira and Xray ​

Jira integration is opt-in. ATAF only talks to Jira when you provide credentials (auth_token or username/password) and configure a Jira workflow (for example via jira.properties and Surefire properties such as issueKeys or filterId). If those are missing, the runner keeps local feature files and skips Xray test-execution updates.

Store feature files in the repository ​

Keep .feature files under src/test/resources/features/ (or any path you set in cucumber.properties):

properties
cucumber.features=src/test/resources/features
cucumber.glue=your.project.steps,ataf.web.steps
cucumber.plugin=json:target/cucumber.json,html:target/site/cucumber-pretty

Run tests with Maven as usual — no Jira export step runs beforehand.

What you can omit ​

Jira-based setupStandalone setup
jira.propertiesNot needed
Runtime auth_token, username, password for JiraNot needed (Runtime Credentials only applies to Jira/Xray)
Feature files maintained in Jira/XrayFeature files in Git
Xray test execution updated after each runCucumber HTML/JSON + Surefire reports only (Reporting)

The ATAF core module still ships Jira/Xray helpers, but hooks such as RunnerUtils.isJiraBasedTestExecution() stay inactive when features are loaded from disk.

See Writing Tests for Cucumber and TestNG/JUnit examples.

Without corporate or government SSO ​

UI tests that log in through OpenID Connect do not need access to an internal ssodev or production IdP. The same pattern used in the RefArch stack works for ATAF:

  1. Run Keycloak locally (Docker Compose).
  2. Apply realm configuration with keycloakmigration (klg71/keycloakmigration image).
  3. Point your application and ATAF test properties at the local realm, clients, and test users.

The RefArch templates define a minimal local stack in stack/docker-compose.yml — Keycloak on port 8100, an init-keycloak sidecar that waits for Keycloak and applies YAML migrations from stack/keycloak/migration/.

Typical local Keycloak layout ​

text
keycloak          # quay.io/keycloak/keycloak — start-dev, KC_HTTP_RELATIVE_PATH=/auth
init-keycloak     # klg71/keycloakmigration — applies KEYCLOAK_CHANGELOG on first start
migration/        # YAML changelog (realm, clients, roles, users)

Environment variables for init-keycloak match the RefArch example:

  • ADMIN_USER / ADMIN_PASSWORD — Keycloak bootstrap admin
  • BASEURL — e.g. http://keycloak:8080/auth (in-container) or http://keycloak:8100/auth (RefArch port)
  • WAIT_FOR_KEYCLOAK=true
  • KEYCLOAK_CHANGELOG=/migration/keycloak-changelog.yml

Configure ATAF UI credentials in testautomation.properties (or environment) to match a user from the migration, for example:

properties
testautomation.userName=ataf
testautomation.userPassword=vorschau

Add internal hostnames to testautomation.noProxy when the browser runs behind a corporate HTTP proxy but must reach Docker services directly (see zmsautomation for a real example).

Reference: zmsautomation in eAppointment ​

The zmsautomation documentation describes the full end-to-end setup: DDEV/devcontainer, local Keycloak migrations, Flyway test data, and ATAF profiles (ataf-api, ataf-ui).

Highlights:

  • No jira.properties — all scenarios live under zmsautomation/src/test/resources/features/.
  • Local Keycloak — .resources/keycloak/migration/ (changelog-driven realm zms, clients, roles, user ataf / vorschau for UI tests).
  • Docker Compose — Keycloak + init-keycloak in .ddev/docker-compose.keycloak.yaml and .devcontainer/docker-compose.yaml.
  • Host mapping — add 127.0.0.1 keycloak to /etc/hosts so browser redirects work (Local Keycloak Setup in the eAppointment docs).

If you are starting a new project, copy the RefArch migration pattern first, then wire ATAF properties to the users and redirect URIs your application expects.