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
# 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
| Option | Type | Required | Default | Description |
|---|---|---|---|---|
platform | string | Yes | android | Target platform. Only android is supported in Phase 1. |
apk | string | Yes | Auto-detected | Path to your APK or AAB file. Supports relative paths from project root. |
package | string | No | Extracted from APK | Android package name. Auto-extracted from the APK manifest if not specified. |
APK auto-detection scans these directories in order:
./app/build/outputs/apk/debug/./app/build/outputs/apk/release/./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
| Option | Type | Required | Default | Description |
|---|---|---|---|---|
scope | string[] | No | [navigation, user-flows, regression] | Test types to include. |
confidence_threshold | float | No | 0.85 | Minimum confidence score (0.0–1.0) for a test to auto-pass. Results below this threshold are flagged for review. |
max_tests | int | No | 100 | Maximum number of test scenarios to generate per run. |
timeout | int | No | 300 | Per-scenario execution timeout in seconds. |
Test scopes explained:
| Scope | What it tests | When to use |
|---|---|---|
navigation | Screen-to-screen transitions, back navigation, deep links | Fast feedback on navigation graph integrity |
user-flows | End-to-end user journeys (login → purchase → logout) | Validates critical business paths |
regression | Re-runs scenarios that failed in previous runs | Confirms fixes, catches re-introductions |
Confidence threshold tuning:
| Threshold | Trade-off |
|---|---|
0.70 | Fewer flags, but may miss subtle issues (higher false negative rate) |
0.85 | Balanced default — catches most real issues without excessive noise |
0.95 | More flags, including ambiguous results that may be false positives |
output section
| Option | Type | Required | Default | Description |
|---|---|---|---|---|
format | string | No | json | Output format for test results. |
screenshots | bool | No | true | Whether to capture and save a screenshot after each test step. |
directory | string | No | ./aucert-results | Directory for test result output files. |
Output formats:
| Format | File extension | Use case |
|---|---|---|
json | .json | Programmatic consumption, custom dashboards |
junit | .xml | CI/CD test summary integration (GitHub Actions, Jenkins, GitLab) |
html | .html | Human-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.
| Variable | Overrides | Description |
|---|---|---|
AUCERT_API_KEY | — | Authentication token (required; alternative to aucert auth login) |
AUCERT_CONFIG | — | Path to config file (default: ./aucert.config.yaml) |
AUCERT_APP_APK | app.apk | Path to APK file |
AUCERT_SCOPE | testing.scope | Comma-separated scopes: navigation,user-flows |
AUCERT_OUTPUT_FORMAT | output.format | Output format: json, junit, html |
AUCERT_OUTPUT_DIR | output.directory | Output directory path |
AUCERT_CONFIDENCE | testing.confidence_threshold | Confidence 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:
| Error | Cause | Fix |
|---|---|---|
app.apk: file not found | APK path doesn't exist | Run your build first, or update the apk: path |
app.platform: unsupported | Platform isn't android | iOS support is coming in Phase 2 |
testing.confidence_threshold: out of range | Value < 0 or > 1 | Use a decimal between 0.0 and 1.0 |
testing.scope: unknown scope | Unrecognized scope name | Use 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
- CLI commands — Full command reference
- CI/CD integration — Use in CI pipelines
- Configure project — Step-by-step configuration guide