test_actions 2.0.0 copy "test_actions: ^2.0.0" to clipboard
test_actions: ^2.0.0 copied to clipboard

A Flutter plugin that helps you in integration test for your app.

test_actions #

This plugin can be used to facilitate the integration test on a Flutter app, handles the tests at a "higher" level.

Getting Started #

Add this line to the dev_dependencies in the pubspec.yaml file in your project.

test_actions: ^1.0.0

Usage #

If you have never used integration tests, please follow the official guide to create the files necessary to use the integration tests.

Then you just have to import the package with:

import 'package:test_actions/test_actions.dart';

Since Flutter 2 the integration_test plugin is integrated into the sdk:

dev_dependencies:
  integration_test:
    sdk: flutter

The first things to set up is the TestActions itself; this is the class that contains all the actions that you will execute, this class needs a WidgetTester if you don't want to set it for all the actions that you add. Of course the tester should be assigned inside the testWidgets method.

TestActions actions = TestActions();
actions.setTester(tester);

If you don't see the table below correctly, open the GitHub page.

Currently there are 5 actions that you can perform using this plugin:

Action name Effect Required vars
pump Executes the pump command on the WidgetTester for a number of times defined by the {pumpTimes} variable. If you set the awaitDuration it will be used as duration in the pump command.
pumpAndSettle Executes the pumpAndSettle command on the WidgetTester.
press Executes the tap on the WidgetTester using a Finder. This action needs the finder not to be null
futureAwait Awaits for a certain Duration. This action needs the awaitDuration not to be null.
customAction Executes a custom function. This action needs the customAction function not to be null.
drag Executes a drag action This action needs the dragOffset not to be null.
enterText Enters a text into a textfield or a widget that accepts text as input This function needs enterText not to be null.

From version 1.0.0 you can assign a name to the testActions to find more easily the failed action.

You can perform all the actions in order

await actions.performActions();

Or perform only one action:

await actions.performActionAt(0);

The TestAction doesn't need to be inside the TestActions class, you can create an action and perform by itself

TestAction singleAction = TestAction(
  action: TestActionType.CustomAction, 
  customAction: () {
    print('This is a custom action');
    expect(1 + 1, 2);
  }
);
singleAction.performAction();

To perform the single TestAction, you can add the action index and/or the function to be called when the action is performed.

6
likes
130
pub points
8%
popularity

Publisher

unverified uploader

A Flutter plugin that helps you in integration test for your app.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter, flutter_test

More

Packages that depend on test_actions