Running against different targets.
WHAT VARIES BETWEEN RUNS
The environment address Credentials Browser and device Data volume Which tests run
WHAT TO NEVER HARD-CODE
Any of it.
WHAT TO USE
Configuration supplied at run time.
WHERE FROM
Environment variables, or configuration files per environment.
WHAT TO NEVER COMMIT
Credentials.
WHAT TO USE INSTEAD
Secret storage provided by the pipeline.
WHAT TO PROVIDE
Sensible defaults for local running.
WHY
Otherwise running tests locally requires undocumented setup.
WHAT TO DOCUMENT
Every configuration option, and its effect.
WHAT TAGS OR CATEGORIES PROVIDE
Selecting subsets: smoke, regression, slow, by feature.
WHAT TO TAG
Every test, consistently.
WHY
It is what makes selective running possible later.
WHAT TO AVOID
Configuration changing test behaviour subtly Tests behaving differently locally and in the pipeline
WHY THAT SECOND POINT
It produces failures nobody can reproduce.
WHAT TO VERIFY
That a clean checkout runs the suite with documented setup only.