⚠️ Independent fork — patrol_cli_plus is an independent fork of Patrol, originally created by LeanCode. It is maintained by Bdaya-Dev and is not maintained, supported, or endorsed by LeanCode. Please report issues at github.com/Bdaya-Dev/patrol/issues, not to LeanCode. Both the original and this fork are licensed under the Apache License 2.0 (see LICENSE and NOTICE.md).

patrol_cli_plus

patrol_plus on pub.dev patrol_cli_plus on pub.dev patrol_finders_plus on pub.dev

A powerful, multiplatform E2E UI testing framework for Flutter apps that overcomes the limitations of integration_test by handling native interactions. Battle-tested and shaped by production-grade experience since 2022.

Patrol CLI

Command-line tool to run and debug tests written with the patrol_plus framework.

Installation

From pub.dev

$ dart pub global activate patrol_cli_plus

From git

  1. Make sure that you have Dart >= 2.18 installed.

    $ dart --version
    
  2. Clone the repo.

  3. Go to packages/patrol_cli_plus.

  4. Run dart pub global activate --source path .

Troubleshooting

If you can't run patrol from the terminal and the error is something along the lines of "command not found", make sure that you've added appropriate directories to PATH:

  • on Unix-like systems, add $HOME/.pub-cache/bin
  • on Windows, add %USERPROFILE%\AppData\Local\Pub\Cache\bin

Analytics

This fork sends no usage analytics: the upstream CLI reports command usage to LeanCode's Google Analytics property, and patrol_cli_plus ships without any measurement ID, so nothing is ever posted. The PATROL_ANALYTICS_ENABLED environment variable is still accepted for compatibility but has no effect.

Shell completion

Patrol CLI supports shell completion for bash, zsh and fish, thanks to the cli_completion package. It will automatically append code necessary to make the completion work to your shell's respective config file (e.g. ~/.zshrc). To disable this value, set the PATROL_NO_COMPLETION environment variable to any value.

Usage

Run patrol --help to see all available commands, or patrol test --help for options specific to running tests. For the full documentation, see the upstream Patrol project.

Libraries

patrol_cli
Public API for driving a patrol develop session programmatically.
patrol_cli_plus
Public API for driving a patrol develop session programmatically.