Skip to content

ATK Anti-Patterns

When to Use

Use this guide as a pre-flight sanity check before deploying ATK, or when debugging unexpected failures.

Pattern

Wrong Right
Linking to github.com/PerformantLabs/atk-cypress or atk-playwright Those URLs 404; canonical is git.drupalcode.org/project/automated_testing_kit
Pinning to ATK 1.x for D11 2.0+ for D11; 1.x is D10 maintenance
Assuming a ddev-atk addon exists Use ddev/github-action-setup-ddev + ATK module install
Editing ATK's shipped tests in-place Copy + rename; modifications lost on upgrade
Running ATK's tests without the demo recipe Apply automated_testing_kit_demo_recipe first; tests assume content/users
Hardcoding drushCmd: 'drush' against DDEV Use ddev drush or the configurable invocation
Pushing un-sanitised Testor snapshots Always --sanitize
Storing AWS keys in .testor.yml Env vars / CI secrets only
Skipping pre-flight in CI Pre-flight catches misconfigured environments before tests pile up errors
Treating FedRAMP test pass as compliance certification Tests are one verification; full FedRAMP requires audit
Pinning to 2.1-beta in production Stay on 2.0 stable until 2.1 ships stable
Mixing both runners on the same component One runner per project
Expecting ATK to ship visual regression Layer Playwright's native VR on top
Relying on volatile Drupal class names in selectors Use ATK's selector hook attribute (data-qa-id historically)
Making tests depend on each other's state Each test owns its setup + cleanup; use Testor for baseline reset

See Also