Project Files
Project File (.aprj)
The main project file (extension .aprj) is a JSON-based file that stores the complete project configuration: test suites, test cases, steps, environments, variables, and settings.
- Location: Any directory on your file system.
- Version control: The
.aprjfile is plain text (JSON) and designed to work with Git. - Encryption: Sensitive values (passwords, secrets) can be encrypted with a project key.
Environment Variables File
Environments and their variables are embedded in the .aprj file. For CI/CD overrides, an external Environment Variables File (JSON format) can be loaded at runtime:
aeth run project.aprj --env-file ./prod-env.json --env-password <password>
Resource Files
Resource files (CSV, JSON, XML, etc.) used for data-driven testing can be referenced from the project. They are loaded at test runtime.
Place resource files in a path relative to the project file for portability.
Extension Packages (.pkg)
Extensions generated from API specifications are packaged as .pkg files. They can be:
- Installed globally via
aeth install - Loaded per run via
aeth run --ext ./MyExtension.pkg - Embedded in a project — copied into the project's
extensions/folder and loaded automatically on open
Project Folder Structure
Each .aprj project directory contains these subfolders:
| Folder | Purpose |
|---|---|
extensions/ | Project-embedded extensions (svc-Name-vX.Y.Z subfolders). Cleaned automatically on save. |
code/ | Project-level C# code files used by C# Script steps |
shared/ | Reusable action files shared across test cases |
ts_* | Test suite folders containing test case data |
.results/ | Runtime data: run history (.history files) and run outputs (.run files). A .gitignore is auto-created. |
The project also maintains an ExtensionReferences manifest tracking each embedded extension by ID, name, minimum version, and source. This enables cross-machine verification when opening the project elsewhere.
See Managing Extensions for details on the embedded extension lifecycle.
Reports
Test reports are generated in the output directory. Two formats are available:
- Aethrix native report (HTML + JSON) – rich, interactive
- JUnit XML – for CI/CD platforms (Jenkins, Azure DevOps, GitHub Actions)