Can I do flutter widget testing on a real device? - flutter

Flutter supports Widget testing with custom clicks and etc, using some mocked stuff: https://docs.flutter.dev/cookbook/testing/widget/introduction
The question is: can I test on a real device? I wanted to test a lot of stuff that is device dependent, both on Android, iOS and Linux.

Yes In flutter there is an option you get to test the application on a real device or simulator called integration testing.
This will display all the tests on the device.
You can also generate goldens (UI) Snapshots according to different screen sizes and get a hint of the design instead of running the entire test on a real device. This will save a lot of time in minute changes and you can always end with integration testing.

Related

How to display the `test case name` in mobile device screen while flutter integration test is being executed

Currently when we run the flutter integration test by flutter test integration_test/app_test.dart, we are seeing Test Starting.. text in the mobile device/simulator screen(Screenshot Attached)
when we have multiple test cases in app_test.dart (Say 10 TCs)
In order to see which Test case is currently being executed, is there any way we can display the test case name in mobile device/simulator screen?
Or can we override Test Starting..?
Or can we add watermark?
Any help highly appreciated.!

Flutter - Get auto time information with iPhone

I am working on a project with Flutter and I need to know if the mobile device has automatic time configured. exactly the same as thishttps://pub.dev/packages/datetime_setting but with iPhone
Could you guide me to obtain information on the automatic time setting with iPhone?

Testing App on Physical device or semulator

I'm working on a flutter App, I have run the code so many times on simulator and even on my smartphone, but after some time when I open the app, it is at the initial stages and after a hot restart the app goes to the final stage(i.e. the changes I've made after that), don't know how to fix the problem.

What is the difference in behaviour testing on the simulator, device and app store

I am trying to figure out what the differences is testing on different layers in regards to accessing the main bundle, documents directory etc.
I know that when testing on the simulator it creates a copy of the execution environment which is separate from xcode. What about on the device and on app store and what is the difference?
The simulator is there as a quick guide. It shouldn't be relied on as the only method of testing. There are differences between the simulator and device (simulator is not case sensitive, for example) and the simulator can't provide all functions as the device (compass, camera for example)
There should be no difference between how your code accesses documents directory, etc between the two. As long as you code the correct way (for example, case sensitively), your code should work on both.
When you release to the AppStore, there should be no difference to what you were running on your device. It is just bundled up and signed with the appropriate certificates.

iOS Unit testing universal application

I am trying to set up some unit tests on a universal application. The application behaves quite differently when loaded on ipad/iphone. For example there is a separate delegate for each, separate views and controllers as well.
How can I configure a particular test target or particular test files to be tested on iphone/ipad. For example, run TestsTarget1 on iPhone and TestTarget2 on iPad? Can something like this be set on a per-file basis? For example "TestIpadMaps.m" to be run on iPad while "TestIphoneMaps.m" to be run on iphone.
Edit: The reason why I ask is because I want to run tests on certain methods that make reference to the app delegate which is different depending on the device it is being tested on.
You could use an if statement to check if NS (or it could be UI as I'm on my iPad so I don't have reference)device is equal to iPhone and if it is run your test or GoTo your view.
Here is a video that will help
http://www.youtube.com/watch?v=meiv1ePUEnM