mayo 2022

Robot Testing is an end-to-end (E2E) technique that mimics a human. Its main advantage is that it focuses on the WHAT and not the HOW we are testing it. When a requirement changes or as our project or application envolves, we can continue to use the robot tests and its components. Yootube video :


Let’s see a sample of a testing scenario with the Robot Pattern :

We use the integration_test package for writing integration tests. Add the plugin to your pubspec.yaml file as a development dependency


Using Robot Pattern for testing


Instead of writing all the tests in one file, we basically create robots per screen and then use the integration testing tools to test our application.


Take a look to the  file ‘home_screen_robot.dart‘ already created lib/integration_test/robots/home_screen_robot.dart into our project  flutter App

Note :  Every robot takes in the WidgetTester as a constructor parameter and defines the methods as required by that screen

Inside our, app_test.dart we initialize the HomeScreenRobot y DetailScreenRobot

and inside thetestWidgets function we can  use the methods as per the behavior

Test the App


To run our integration tests, first, make sure the emulators are running, and then we run the following. Then you have some ways to run the test.

1.  Go to the terminal  (I’m using VSCode)  write there this :

     flutter drive \ –driver=test_driver/integration_test.dart \ –target=integration_test/app_test.dart

2. Create a scrip file The content will be the command : flutter drive \ –driver=test_driver/integration_test.dart \ –target=integration_test/app_test.dart

3. If you are using VSCode (like me!!) go to left panel and click on icon ‘testing’, you will find on the left , the list of tests that you’ve already created



Robot testing is an additional step that can increase the confidence in your ability to release your product to the market,
as well as decrease the cost and amount of manual testing needed, especially when there are regular releases that need to be tested.