Skip to main content

Configuration

Aucert is configured via aucert.config.yaml in your project root. This file is created by aucert init and can be customized.

Full reference

aucert.config.yaml
# Application configuration
app:
platform: android # android (ios coming in Phase 2)
apk: ./path/to/app.apk # Path to your APK or AAB file
package: com.example.app # Application package name (from AndroidManifest.xml)

# Test configuration
testing:
scope: # Which test types to run
- navigation # Screen navigation flows
- user-flows # End-to-end user journeys
- regression # Regression from previous runs
confidence_threshold: 0.85 # Minimum confidence for auto-pass (0.0-1.0)
max_tests: 100 # Maximum test scenarios per run
timeout: 300 # Per-scenario timeout in seconds

# Output configuration
output:
format: json # json | junit | html
screenshots: true # Capture screenshots at each step
directory: ./aucert-results # Output directory (created if it doesn't exist)

Option details

app section

OptionTypeRequiredDefaultDescription
platformstringYesandroidTarget platform. Only android is supported in Phase 1.
apkstringYesAuto-detectedPath to your APK or AAB file. Supports relative paths from project root.
packagestringNoExtracted from APKAndroid package name. Auto-extracted from the APK manifest if not specified.
info

APK auto-detection scans these directories in order:

  1. ./app/build/outputs/apk/debug/
  2. ./app/build/outputs/apk/release/
  3. ./build/outputs/apk/

If multiple APKs are found, the most recently modified one is used. Specify apk: explicitly when working with multiple build variants.

testing section

OptionTypeRequiredDefaultDescription
scopestring[]No[navigation, user-flows, regression]Test types to include.
confidence_thresholdfloatNo0.85Minimum confidence score (0.0–1.0) for a test to auto-pass. Results below this threshold are flagged for review.
max_testsintNo100Maximum number of test scenarios to generate per run.
timeoutintNo300Per-scenario execution timeout in seconds.

Test scopes explained:

ScopeWhat it testsWhen to use
navigationScreen-to-screen transitions, back navigation, deep linksFast feedback on navigation graph integrity
user-flowsEnd-to-end user journeys (login → purchase → logout)Validates critical business paths
regressionRe-runs scenarios that failed in previous runsConfirms fixes, catches re-introductions

Confidence threshold tuning:

ThresholdTrade-off
0.70Fewer flags, but may miss subtle issues (higher false negative rate)
0.85Balanced default — catches most real issues without excessive noise
0.95More flags, including ambiguous results that may be false positives

output section

OptionTypeRequiredDefaultDescription
formatstringNojsonOutput format for test results.
screenshotsboolNotrueWhether to capture and save a screenshot after each test step.
directorystringNo./aucert-resultsDirectory for test result output files.

Output formats:

FormatFile extensionUse case
json.jsonProgrammatic consumption, custom dashboards
junit.xmlCI/CD test summary integration (GitHub Actions, Jenkins, GitLab)
html.htmlHuman-readable report with embedded screenshots

Environment variables

Environment variables override config file values. Useful for CI/CD where you don't want to commit secrets or environment-specific settings.

VariableOverridesDescription
AUCERT_API_KEYAuthentication token (required; alternative to aucert auth login)
AUCERT_CONFIGPath to config file (default: ./aucert.config.yaml)
AUCERT_APP_APKapp.apkPath to APK file
AUCERT_SCOPEtesting.scopeComma-separated scopes: navigation,user-flows
AUCERT_OUTPUT_FORMAToutput.formatOutput format: json, junit, html
AUCERT_OUTPUT_DIRoutput.directoryOutput directory path
AUCERT_CONFIDENCEtesting.confidence_thresholdConfidence threshold (0.0–1.0)

Precedence: Environment variable > config file > default.

Example: CI/CD override

# In GitHub Actions, override format and threshold for CI
AUCERT_API_KEY=${{ secrets.AUCERT_API_KEY }} \
AUCERT_OUTPUT_FORMAT=junit \
AUCERT_CONFIDENCE=0.90 \
aucert run

Validation

The CLI validates your config on every run. Common validation errors:

ErrorCauseFix
app.apk: file not foundAPK path doesn't existRun your build first, or update the apk: path
app.platform: unsupportedPlatform isn't androidiOS support is coming in Phase 2
testing.confidence_threshold: out of rangeValue < 0 or > 1Use a decimal between 0.0 and 1.0
testing.scope: unknown scopeUnrecognized scope nameUse navigation, user-flows, or regression

.gitignore recommendations

Add these entries to your .gitignore:

# Aucert output (re-generated on each run)
aucert-results/

Keep aucert.config.yaml committed — it's project configuration that should be shared with your team.

What's next