Free Plan

fab-test

Beta

One CLI for Power BI Validation

The Power BI tooling ecosystem is scattered. Tabular Editor's Best Practice Analyzer, PBIR Inspector, accessibility checks, DAX tests, and Playwright each have their own install, their own invocation, and their own output format. Wiring them all into a pipeline means writing glue for every one of them.

fab-test puts them behind a single command with a consistent result shape, so a local check, a deployment gate, and an AI agent can all ask the same question and read the same answer.

Install

Note the package name

PyPI reserves names that are too similar to existing projects, so the distribution is published as cft-fab-test rather than fab-test. Only the distribution name carries the prefix — the command you run, the fab_test import package, and every subcommand are all still fab-test.

# Beta releases require the --pre flag
pip install --pre cft-fab-test

fab-test --version

Commands

fab-test local

Run the local analyzer bundle against every discovered .pbip project — no cloud required.

fab-test bpa

Tabular Editor Best Practice Analyzer, on SemanticModel artifacts.

fab-test pbir

PBIR Inspector static report analysis, on Report artifacts.

fab-test a11y

pbir-a11y accessibility checks, on Report artifacts.

fab-test pql-test

The pql-test DAX test runner, on SemanticModel artifacts.

fab-test playwright

Playwright visual and error validation, on Report artifacts.

fab-test all

Run all analyzers in sequence.

fab-test doctor

Check whether each analyzer's prerequisites are ready to run.

fab-test auth

Report or acquire Fabric credentials. fab-test stores none of its own.

fab-test list

List available analyzers with their artifact glob, matched count, and required tool.

fab-test explain

Show the resolved command for one analyzer without running it.

fab-test init

Scaffold a commented fab-test.yml and .env.example.

Run fab-test --help for the full set, including dependencies, playwright-impact, config, and clean-tools.

Who It's For

Developers

Run every applicable check against a PBIP project on your machine before you push, without deploying anything to the cloud first.

CI/CD Pipelines

Gate a deployment on structured results. --format json gives machine-readable output, exit codes reflect the verdict, and run.json manifests carry remediation detail for each finding.

AI Agents

One command surface and one output format means an agent does not need a separate integration for each underlying tool.

Requirements

  • ✓PBIP projects saved in TMDL and PBIR formats
  • ✓Artifacts are discovered automatically by folder suffix — *.SemanticModel and *.Report
  • ✓Run fab-test doctor to confirm tools and credentials are in place

Resources

Download the package or raise an issue on GitHub.

The fab-test pql-test subcommand delegates to pql-test, which runs the DAX assertions in your semantic models.

Learn about pql-test