Skip to content
forked from leancodepl/patrol

Flutter-first UI testing framework. Ready for action!

License

Notifications You must be signed in to change notification settings

rozautd/patrolKr

 
 

Repository files navigation

Patrol

patrol on pub.dev patrol_cli on pub.dev code style powered by

Patrol promotial graphics

Simple yet powerful Flutter-native UI testing framework eliminating limitations of flutter_test, integration_test, and flutter_driver.

Learn more about Patrol:

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:

testWidgets('signs up', (WidgetTester tester) async {
  await tester.pumpWidget(AwesomeApp());
  await tester.pumpAndSettle();

  await tester.enterText(
    find.byKey(Key('emailTextField')),
    '[email protected]',
  );
  await tester.pumpAndSettle();

  await tester.enterText(
    find.byKey(Key('nameTextField')),
    'Charlie',
  );
  await tester.pumpAndSettle();

  await tester.enterText(
    find.byKey(Key('passwordTextField')),
    'ny4ncat',
  );
  await tester.pumpAndSettle();

  await tester.tap(find.byKey(Key('termsCheckbox')));
  await tester.pumpAndSettle();

  await tester.tap(find.byKey(Key('signUpButton')));
  await tester.pumpAndSettle();

  expect(find.text('Welcome, Charlie!'), findsOneWidget);
});

to this:

patrolTest('signs up', (PatrolTester $) async {
  await $.pumpWidgetAndSettle(AwesomeApp());

  await $(#emailTextField).enterText('[email protected]');
  await $(#nameTextField).enterText('Charlie');
  await $(#passwordTextField).enterText('ny4ncat');
  await $(#termsCheckbox).tap();
  await $(#signUpButton).tap();
  
  await $('Welcome, Charlie!').waitUntilVisible();
});

Learn more about custom finders in the docs!

CLI

See packages/patrol_cli.

The CLI is needed to enable Patrol's native automation feature in integration tests.

To run widget tests, you can simply use flutter test.

Package

See packages/patrol.

About

Flutter-first UI testing framework. Ready for action!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 46.4%
  • Kotlin 24.9%
  • Java 20.0%
  • Swift 5.5%
  • Objective-C 1.8%
  • Shell 0.8%
  • Other 0.6%