possible way to run actual application

Issue

I am making a testing scenarios using Ogurets framework which is cucumber + gherking combination.
The tests are for Flutter application written in Dart language.

I recently figured out that test driver does not execute actual app. For example in my case:

I have and app where is a Login feature. After navigating to Logout and clicking on it, app does not return the login screen(it does back-end work though), but when I execute actual app through main.dart file and not using Ogurets configuration everything works as expected.

So I was wondering,

Is there any possible way to execute actual app during testing scenario? Lets say It can execute release version of the app.

Not sure if it makes sense.

Thx for possible tips

Solution

So when Ogurets runs, it will execute a command to "flutter run" your application, and using the standard mechanism for Flutter Driver, it will create a tcp link between your running application and the Ogurets code. But to do this, you have to have the extra Flutter Driver code enabled in your application, so it is not possible to run your "actual app", otherwise this TCP link will not form.

Over this TCP link standard Flutter Driver commands are executed and you can also execute extra commands. So your actual app is being executed as if you are running it using "flutter run" – and you can even run it on a real device this way, but it can never be your released application as it will not have this extra TCP link code.

If you are having trouble understanding why your application is operating like this, the documentation for Ogurets Flutter does indicate how you can run and debug the two sides of the application, so you can be running your Flutter App in debug mode and then run your tests, have it connect and automate the app and then debug why it isn’t coming back to your login page. This is what I would recommend you do.

Answered By – Richard Vowles

Answer Checked By – Mildred Charles (FlutterFixes Admin)

Leave a Reply

Your email address will not be published. Required fields are marked *