Implementation guidelines published to enable E2E testing of Flutter apps.
Information
MagicPod has released an implementation guideline for enabling E2E testing of Flutter apps.
MagicPod has also simultaneously started official support for Flutter apps.
MagicPod Inc. (Headquarters: Chuo Ward, Tokyo; President: Nozomi Ito) announces the release of 'Implementation Guidelines for Flutter Apps for E2E Testing' which is applicable to the mobile app automated testing framework Appium, as well as various E2E testing automation tools that internally utilize Appium. Moreover, this guideline contains general-purpose content that can be used with automated testing tools other than MagicPod.
Background
Flutter, released by Google in 2018, is an open-source mobile app development framework. With its capability to construct high-quality native applications for iOS, Android, Web, desktop, and other platforms from a single codebase, it has garnered support and has been continuously adopted in numerous mobile applications.
According to the announcement by Bitrise, a CI tool for mobile apps, in their report 'The State of Mobile App Development in 2022' (https://bitrise.io/blog/post/the-state-of-mobile-app-development-in-2022), 12.4% of all builds on Bitrise are Flutter, indicating its continuing global adoption. This, compared to 2020 (https://bitrise.io/blog/state-of-app-development-2020), is a 37% increase in share, making its presence undeniable, even in the automated testing of mobile apps.
Issue
When automating the testing of Flutter apps using Appium or E2E automated testing tools that internally utilize Appium, cases frequently arise where UI elements are not properly recognized. This issue made it difficult to automate testing of Flutter apps, as there is s also no systematic documentation to make it recognizable.
The development of the Appium Flutter Driver, intended for automating Flutter apps using Appium, is also being pursued by volunteers. However, there are issues such as 'Many problems with basic operations were discovered during MagicPod's internal verification, such as text transmission and obtaining element status' and 'While the integration_test (https://docs.flutter.dev/testing/integration-tests) has been released from the Flutter project as a successor to the internally utilized Flutter Driver (https://api.flutter.dev/flutter/flutter_driver/flutter_driver-library.html), the future of the Flutter Driver itself is uncertain.
Even in MagicPod, which internally utilizes Appium, did not support Flutter apps for a long time due to these issues. However, with the recent popularization of Flutter and the demands from many users, both new and existing, support for Flutter apps had become a pressing need.
About the Guideline
In light of the aforementioned background and challenges, the MagicPod engineering team conducted research and verification for supporting Flutter app tests. As a result, it was found that by implementing a Flutter app that meets the following three criteria, many of the UI element detection issues in Appium (as well as automated testing tools that internally utilize Appium) can be resolved.
1. Use Flutter version 3 or later.
2. Assign accessibility information to each widget operated during the test.
3. Properly set the Z-order of each widget operated during the test.
This guideline is not just for MagicPod, but can be used with Appium and a wide range of automated testing tools that internally utilize Appium, making it a general-purpose guideline.
MagicPod Officially Launches Support for Flutter Apps
Following the completion of the guideline, and with the aim to officially support Flutter app testing in MagicPod, a variety of improvements have been implemented by MagicPod for behavior verification across different patterns as well as to improve stability. Furthermore, we asked multiple trial enterprise users to actually automate Flutter app testing using MagicPod and, after confirming its feasibility for automation, we have now officially launched support for Flutter apps on the condition that they adhere to the guidelines.
Future Prospects
Moving forward, we hope that even more Flutter app developers and QAs will actually make use of the guideline, and by integrating their feedback, we aim to make the guideline beneficial not just for MagicPod users, but also for many developers and QAs engaging in Flutter's E2E test automation.
Moreover, leveraging the expertise we gained from creating this guideline for Flutter, we aspire in the future to also create and release a similar guideline for React Native, which, like Flutter, is a widely used mobile app development framework.
Guideline
The "Implementation Guidelines for Flutter Apps for E2E Testing" can be downloaded from the link below. (No registration required & free of charge)
Download "Implementation Guidelines for Flutter Apps for E2E Testing"
https://magicpod.com/en/resources/flutter_guide/
*For the latest information on MagicPod's support status for Flutter app testing, please check this page (https://support.magic-pod.com/hc/en/articles/18845456266777)
About the AI Test Automation Platform "MagicPod"
"MagicPod" is an AI test automation platform that supports both mobile app testing and browser (web app) testing. It aids in accelerating the release cycle with a design that can be intuitively used even without special skills like programming, offers high maintainability through cloud-based services, and reduces the time required for test program corrections by using AI-driven auto-corrections. Over 500 companies, mainly leading ones in the IT industry, have already implemented it.
“MagicPod” Official Website:
https://magicpod.com/en/
“MagicPod” Concept Video:
https://youtu.be/6U7mlRJybDY
For consultations regarding "MagicPod" and to sign up for a 2-week free trial, please visit:
https://magicpod.com/en/contact/
[Company Information]
Company Name: MagicPod Inc.
President: Nozomi Ito
Address: 4F The Shore Nihonbashi Kayabacho, 1-2 Nihonbashi Hakozaki-cho, Chuo-ku, Tokyo
Founded: July 2012
Scope of Business: Development and operation of 'MagicPod', a test automation cloud service that uses AI technologies.
URL: https://magicpod.com/corporate/en/