Dashboard
Use this page to run the FitNesse dashboard and send it live results from your test runs. You need Java 21, or run.sh on Linux and macOS, which downloads a JRE.
Run the dashboard
Section titled “Run the dashboard”-
Download
fitnesse-dashboard.zipfrom the releases and extract it. -
Start it:
Terminal window java -jar fitnesse-dashboard.jarOn Linux and macOS you can run
chmod +x run.sh && ./run.shinstead. -
Open http://localhost:6001.
Send results from FitNesse
Section titled “Send results from FitNesse”-
Add the listener to your
pom.xml. The starter project already has it.<dependency><groupId>com.huisjesautomation.reflex</groupId><artifactId>fitnesse-listener</artifactId><version>X.Y.Z</version></dependency> -
Check that your JUnit class uses
ReflexFitnesseRunner:@RunWith(ReflexFitnesseRunner.class)@FitNesseRunner.Suite("MySuite")public class FixtureDebugTest {} -
Run the suite with the dashboard properties:
Terminal window mvn clean test-compile failsafe:integration-test \-DfitnesseSuiteToRun=MySuite \-Dreflex.dashboard.url=ws://<server-host>:6001/run \-Dreflex.dashboard.suite=MySuite
Run in production
Section titled “Run in production”Use PostgreSQL, set your own SESSION_JWT and SECRET, and store results somewhere persistent. SQLite is fine for local use.
SESSION_JWT="your-own-jwt" \SECRET="your-app-secret" \DB_URL="jdbc:postgresql://db-host:5432/dashboard" \DB_USER="postgres" \DB_PASSWORD="postgres" \TEST_OUTPUT_STORAGE_DIR="/var/fitnesse-results" \SERVER_PORT=8080 \java -jar fitnesse-dashboard.jarEnvironment variables
Section titled “Environment variables”| Variable | Default | Description |
|---|---|---|
SERVER_PORT | 6001 | HTTP port |
SERVER_HOST | 0.0.0.0 | Bind address |
SERVER_COMPRESSION_LEVEL | 6 | Compression level (0-9) |
SESSION_TITLE | reflex_fitnesse_dashboard | Session identifier |
SESSION_JWT | demo token | JWT for sessions |
SECRET | tester | Application secret |
DB_URL | jdbc:sqlite:dashboard.db?journal_mode=WAL | JDBC URL |
DB_USER | postgres | Database user (PostgreSQL only) |
DB_PASSWORD | postgres | Database password (PostgreSQL only) |
HIKARI_CONNECTION_INIT_SQL | empty | Init SQL, for example SET search_path=public |
HIKARI_MAXIMUM_POOL_SIZE | 10 | Maximum connection pool size |
HIKARI_AUTO_COMMIT | false | Auto-commit |
TEST_OUTPUT_STORAGE_PROVIDER | filesystem | filesystem or s3 |
TEST_OUTPUT_STORAGE_DIR | test-output | Local storage path |
TEST_OUTPUT_STORAGE_ASSET_PREFIX | /test-output-assets | URL prefix for assets |
TEST_OUTPUT_STORAGE_S3_BUCKET | empty | S3 bucket |
TEST_OUTPUT_STORAGE_S3_ENDPOINT | empty | S3 endpoint URL |
TEST_OUTPUT_STORAGE_S3_ACCESS_KEY | empty | S3 access key |
TEST_OUTPUT_STORAGE_S3_SECRET_KEY | empty | S3 secret key |
TEST_OUTPUT_STORAGE_S3_REGION | us-east-1 | S3 region |
TEST_OUTPUT_STORAGE_S3_PATH_STYLE | true | Use path-style URLs |
TEST_OUTPUT_RAW | false | Store raw output |
TEST_OUTPUT_REFORMAT | false | Reformat output |
TEST_OUTPUT_COMBINE_INTERVAL_MINUTES | 1 | Combine interval in minutes |
DASHBOARD_TITLE | Dashboard | Page title |
DASHBOARD_BRAND | empty | Brand name |
DASHBOARD_PAGE_SIZE | 15 | Results per page |
DASHBOARD_QUEUE_MAX | 10 | Maximum queue size |
DASHBOARD_QUEUE_CAPACITY | 1000 | Queue capacity |
EBEAN_MIGRATION_RUN | true | Run database migrations on startup |
EBEAN_DROP | false | Drop and recreate tables |