Git Integration
Aethrix Studio includes built-in Git support for version-controlling automation projects (.aprj files) and their associated code and resource files.
When to Use
- Tracking changes to test projects over time
- Collaborating with team members on test suites
- Reviewing test changes before merging
- Rolling back to a known-good test configuration
Clone from Git
The fastest way to start is to clone an existing repository:
- In the Test Automation toolbar, click Clone (account_tree).
- The Clone from Git wizard opens with four steps:
| Step | What you provide |
|---|---|
| Step 1 — Repository | The repository URL (HTTPS) and an optional branch. Works with GitHub, GitHub Enterprise, Azure DevOps, GitLab, Bitbucket, and any public/private Git host. |
| Step 2 — Destination | A parent folder and an optional new subfolder. Aethrix refuses any folder that already contains files. |
| Step 3 — Authentication | How to authenticate: System credentials (Git Credential Manager — recommended), Personal access token (PAT), or Username and password. |
| Step 4 — Clone & Load | Aethrix downloads the repository, then locates the .aprj file inside it and loads it into the workspace. If none or several are found, you choose which to open (or create a new project in the repository). |
Git Operations on a Project
For a project that already lives inside a Git working directory, right-click the project node in the tree and expand the Git submenu:
| Operation | Description |
|---|---|
| Git Pull | Fetch and merge changes from the remote. |
| Git Commit | Stage and commit local changes. |
| Git Push | Push committed changes to the remote. |
A git status badge is shown on the project node in the tree, indicating its current synchronization state.
Reviewing Changes
Before committing, open Git Manager from the project context menu. It hosts three complementary viewers:
- Change Viewer (
GitChangeViewer) — lists staged vs. unstaged files with inline status icons. Click a file to preview its diff. - Diff Viewer (
GitDiffViewer) — side-by-side text diff with syntax highlighting for.aprj/.cs/resource files. - Semantic Diff Viewer (
SemanticDiffViewer) — structural diff for automation projects (suites/cases/steps) that highlights added/removed test steps instead of raw XML.
:::info Screenshot needed — light/dark 📸
git-change-viewer-light.png and git-change-viewer-dark.png — Git Manager with Change Viewer and Diff Viewer
:::
For a local folder that is not yet a repository, the Initialize Repository control (GitRepoInitializeControl) offers one-click git init plus optional remote linking.
What Gets Versioned
| File | Versioned? | Notes |
|---|---|---|
.aprj project file | Yes | Project definition |
Code files (.cs) | Yes | C# helpers and scripts |
| Resource files | Yes | CSV, JSON fixtures |
| Report output | No | Generated files — add to .gitignore |
| Encryption keys | No | Never commit keys |
CI/CD Integration
Clone the repository on your CI agent and run tests:
git clone https://dev.azure.com/org/project/_git/test-repo
cd test-repo
aeth run MyProject.aprj --env ci --output ./reports --junit
Best Practices
- Use
.gitignoreto exclude report outputs, temporary files, and local settings. - Store encryption keys in CI/CD secret variables — never in the repository.
- Commit test data fixtures alongside the project.
- Use meaningful commit messages that describe what changed in the test logic.