How to pitch test automation technology for Flutter app - flutter

Our team is building a new store management app using Flutter.
In order to make our CI process better, I want to start building automated tests for it.
I want to make sure that our core features like adding products, purchasing goods, calculating reports and others work.
I was told that I can do such tests only in Dart. However, I haven't ever worked with it (I've originally built tests in Python) and curious if there any other ways to build test automation for Flutter apps except Dart.
Please advise if you have ideas about it!
Thanks!

I'd recommend using appium for Flutter App !
Look for appium-flutter-driver and appium-uiautomator2-driver and how you can integrate them in your automation project !

Related

Is there a testing Framework for web-deployed Flutter applications?

I am wanting to automate and write tests for my Flutter deployed application.
I am able to test the client side of Flutter apps on mobile using Appium & Codecept.js with no issues. (Built a testing project in VScode and used the built APK)
I have tried Playwright, Puppeteer, WebDriver, and Selenium with no luck on the deployed code for web. Piercing through <flt-glass-pane/> is possible but super messy and doesnt seem like a stable way to go about it. I am hoping to achieve this in my separate codebase that is responsible for UI testing.
I am wondering if anyone had some solid suggestions on automating a Flutter web app from the client side (UI, and clicks etc).
From the research I have done, I have not found a clear solution. I am very interested in what you have used before that works or if you know the right direction I should head toward.

Mobile App testing with Appium with WebdriverIO with Flutter

My company is creating a new mobile app and it seems that part of the tech stack will involve the use of flutter.
I want to use appium with webdriverIO because it a great tool to run my automated tests.
Is this possible with flutter?
Has anyone used flutter before and what were your opinions?
So I tried using appium and various other testing platforms like Selenium or Cypress. None of them helped me with the Automation Tests.
Though, Recently came across a github project, flutter_convenient_test, I not only helped be automate the tests but also helped me with the Assertions.
Here's a way of doing it perfectly.
await t.get(find.byTooltip('Home Page')).tap();
So here, so may need to add tooltip to each widget(also custom widgets you use), and then run this on the above platform.
OR you can use the Text widget if you have a Text heavy app.
await t.get(find.text('Add Account')).should(findsOneWidget);

Are there unit tests in flutter?

Can we able to write the automation test cases by using flutter for web application
I need answer for we can able to write the automation test cases by using flutter for web application
Yes.
docs.flutter.dev/cookbook/testing/unit/introduction goes over how Flutter does testing. That same link goes over some good CI tools to automate all of it.

Flutter: Deploy multiple apps at once

We have 13 apps that are exactly the same in source code, one difference is app name.
Currently, whenever we have an update to deploy we have to manually do it to every developer account. Is there a way to combine all apps into one source code and deploy it to each account?
If the deploying to multiple accounts is a must, then you can also considering automating this by using the API which both the platforms, Android and IOS have and there are options like fastlane available which make the process fairly easy
If you can switch to a single developer account, then flavours could be an easy way out
Flutter Flavours is exactly for this purpose. A flavour is analogous to say ice cream, well the base content is same but you would like to have a different flavour always right? The best part is you can do something for both Android as well as IOS
You can read about Flutter Flavours here

Is there any functional automation tool for testing native iPhone applications?

I have been involved in doing web automation and Android automation testing. Currently we are looking for any iPhone functional testing tool which will help us to reduce the number of hours for regression testing. We are looking for an open source tool like Selenium or Robotium, where test cases are easier to write and implement.
If you wait until iOS 5 is released, I am sure you will find a component in Instruments that will do just what you want.
Non open source option could be SeeTest from experitest. It support both Android and iOS.
These days there are a number of projects to automate testing for native applications, including iphones. These two are the ones i see first on github searches.
https://github.com/TestingWithFrank/Frank
https://github.com/ios-driver/ios-driver
I remember there must be more but i do not recall their names