Install the bellatrix CLI

One .NET global tool for all three domains, plus the driver your domain needs. The CLI never starts or stops WinAppDriver, Appium or a device.

Install the CLI

You need the .NET 8 SDK. The CLI is the .NET global tool package Bellatrix.Cli on NuGet.org; its command is bellatrix.

dotnet tool install -g Bellatrix.Cli
# already installed:
dotnet tool update  -g Bellatrix.Cli
bellatrix --version     # {"version":"3.1.1"}

Source code, release notes and build-from-source instructions: BELLATRIX-Agent on GitHub.

Desktop prerequisites

  • Windows with WinAppDriver (or NovaWindows) running. The default driver URL is http://127.0.0.1:4723; change it with McpSettings__ServerUrl.
  • The apps the agent may start are configured by name and path (an executable path or a Store app ID):
$env:McpSettings__Apps__0__Name = "calculator"
$env:McpSettings__Apps__0__Path = "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"
bellatrix desktop list-apps --json

You can also start an unconfigured app with bellatrix desktop start-session --app-path <path>, or attach to a running window with attach-window --window-title "…".

Web prerequisites

  • Google Chrome, Microsoft Edge or Firefox. No Selenium server is needed: web start-session starts a matching local browser driver and close-session stops it.
  • To use your own Selenium server or grid instead, pass --remote-url http://localhost:4444. That server is yours to run.

Mobile prerequisites

  • An Appium server (default http://127.0.0.1:4723, change it with --appium-url) and an Android emulator/device or an iOS simulator/device.
  • The app file to test: bellatrix mobile start-session --platform android --app C:\apks\your-app.apk.

WinAppDriver and Appium both default to port 4723. Run one at a time, or move one of them.

Check the installation

bellatrix help                 # every command, flag and output shape
bellatrix web help --json      # one domain, machine-readable
bellatrix sessions --json      # {"sessions":[],"count":0}

Run every command of one test from the same folder: sessions are stored in .bellatrix/sessions.db and snapshots in .bellatrix/snapshots/, relative to the current directory.