suupr_tests_cli 1.0.0-beta.6
suupr_tests_cli: ^1.0.0-beta.6 copied to clipboard
Headless CLI runner for automated Suupr Tests in CI/CD environments.
Suupr Tests CLI Runner #
Warning
BETA STATUS: This package is currently in Beta. We are actively refining the API to improve performance and orchestration capabilities. Breaking changes may occur between beta releases. Please pin your version and check the CHANGELOG before updating.
A standalone, headless CLI tool for running automated Suupr Tests in CI/CD environments.
Features #
- Headless Execution: Launch your Flutter app in machine mode and run your tests without manual intervention.
- Smart Connection: Automatically handshakes with the Dart VM Service and elects the correct UI isolate.
- Advanced Reporting: Color-coded terminal output showing PASSED, FAILED, and SKIPPED statuses.
- Recursive Suites: Point the CLI to a directory (e.g.,
test/suuprtests/) and it will automatically crawl for and execute every.jsonsuite found in subdirectories. - CI Ready: Exits with non-zero codes on failure, making it perfect for GitHub Actions, GitLab CI, and Bitrise.
Installation #
Add suupr_tests_cli as a dev dependency to your project:
dart pub add dev:suupr_tests_cli
Activate the CLI:
dart pub global activate suupr_tests_cli
You may have to update your PATH to include the global bin directory:
export PATH="$PATH":"$HOME/.pub-cache/bin"
Usage #
# Run a single suite
suupr_tests_cli run --app-path=./my_app ./test/suuprtests/login_flow.json
Note
Support for running multiple test suites is not yet implemented. Please run each test suite individually.
CI/CD Orchestration #
For a "Zero-Touch" automation setup, check out our Sample GitHub Actions Workflow. It demonstrates how to automate your entire testing fleet with a single gatekeeping step.
Options #
--app-path: (Required) The path to the root of your target Flutter project. This is the directory that contains thepubspec.yamlfile.--device-id: (Optional) The specific target device ID (e.g.,macos,linux,emulator-5554).--help: Show usage information.
License #
MIT