Um poderoso framework de teste E2E de interface do usuário multiplataforma para aplicativos Flutter que supera as limitações do integration_test ao lidar com interações nativas.
Orientação gerada a partir de informações públicas. Apenas para referência.
Patrol é um framework de teste de UI end-to-end multiplataforma para Flutter que vai além das capacidades do integration_test, permitindo interação fluida com recursos nativos da plataforma. Ele permite que testadores simulem o comportamento real do usuário em Android, iOS, Web e macOS, incluindo o manuseio de diálogos nativos, permissões e ações de nível do sistema. Construído para confiabilidade e experiência do desenvolvedor, o Patrol simplifica cenários de teste complexos, mantendo consistência entre plataformas. Sua arquitetura suporta conjuntos de testes robustos e sustentáveis que refletem o uso real do aplicativo.
Casos de uso
Testando interações de diálogo nativo
Validando comportamentos específicos de plataforma
Validação de interface do usuário multiplataforma
Gerenciamento de permissões em tempo de execução
Simulando eventos específicos do dispositivo
verificação de fluxo de trabalho ponto a ponto
Principais recursos
Suporte de interação nativa
Testes multiplataforma (Android, iOS, Web, macOS)
Melhor confiabilidade de teste em relação ao integration_test
simulação de usuário realista
Mecanismos embutidos de repetição e espera
Sintaxe de teste limpa e legível
Indicado para
Equipes desenvolvendo aplicativos complexos com Flutter
Desenvolvedores que precisam de testes de funcionalidades nativas
Projetos que exigem testes E2E consistentes entre plataformas
Engenheiros de automação de testes
Integrações de pipeline CI/CD
Considerações
Requer configuração adicional em comparação com a integração básica integration_test
Pode ser necessário configurar especificamente para a plataforma
Mais adequado para projetos maduros com fluxos de teste dedicados
Documentação limitada em comparação com pacotes principais
Curva de aprendizado mais acentuada para novos usuários
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Patrol
A powerful, multiplatform E2E UI testing framework for Flutter apps that overcomes the limitations of integration_test by handling native interactions. Developed by LeanCode since 2022, battle-tested and shaped by production-grade experience.
Patrol is an open-source framework created and maintained by LeanCode.
However, if your company wants to scale fast and accelerate Patrol’s
adoption, we offer a set of value-added services on top of the core framework.
[!NOTE]
Patrol 4.7.0 adds Swift Package Manager support for iOS and macOS!
If you migrate your project to SPM, a few small setup changes are needed — see the iOS setup guide for details.
Patrol custom finders
Flutter's finders are powerful, but not very intuitive to use.
We took them and made something awesome.
Thanks to Patrol's custom finders, you'll take your tests from this:
Flutter's default integration_test package can't interact with the OS your
Flutter app is running on. This makes it impossible to test many critical
business features, such as:
granting runtime permissions
signing into the app which through WebView or Google Services
The CLI is needed to enable Patrol's native automation feature in integration
tests. It also makes development of integration tests much faster thanks to [Hot
Restart].
To run widget tests, you can continue to use flutter test.
See .github/WORKFLOWS.md for detailed documentation about all GitHub Actions workflows, including test schedules, Flutter versions, and deployment pipelines.