FlutterアプリをE2Eテスト可能にするための実装ガイドラインをMagicPodが公開
MagicPodによるFlutterアプリの正式サポートも同時に開始
背景
Flutterは、2018年にGoogleからリリースされたオープンソースのモバイルアプリ開発フレームワークです。1つのコードベースからiOS、Android、Web、デスクトップ、その他のプラットフォーム向けに高品質なネイティブアプリケーションを構築できる点が支持され、数多くのモバイルアプリで採用が進んでいます。
モバイルアプリ向けCIツールBitriseが発表した「The State of Mobile App Development in 2022」(https://bitrise.io/blog/post/the-state-of-mobile-app-development-in-2022)によれば、Bitrise上の全ビルドの12.4%がFlutterと、世界的に導入が進んでいます。これは、2020年( https://bitrise.io/blog/state-of-app-development-2020 )と比較し、シェアにして37%増加と、モバイルアプリの自動テストにおいてもその存在が無視できなくなっています。
課題
AppiumやAppiumを内部で利用するE2Eテスト自動化ツールでFlutterアプリのテストを自動化する場合、UI要素をうまく認識できないケースが頻繁に発生し、この問題がFlutterアプリのテスト自動化を難しくしており、認識可能にするための体系的なドキュメントもない状態でした。
AppiumでFlutterアプリを自動化するためのAppium Flutter Driverの開発も有志により進められていますが、「MagicPod社内の検証でテキスト送信・要素の状態取得などの基本的な操作に多くの問題が見つかっている」「内部で利用しているFlutter Driver ( https://api.flutter.dev/flutter/flutter_driver/flutter_driver-library.html )の後継としてintegration_test ( https://docs.flutter.dev/testing/integration-tests )がFlutterプロジェクトからリリースされ、Flutter Driver自体の今後の先行きが不透明」などの課題がある状況です。
Appiumを内部で利用しているMagicPodでも、これらの課題によりFlutterアプリは長い間サポート対象外となっていましたが、近年のFlutterの普及と新規・既存問わず多数のユーザーからの要望を受け、Flutterアプリのサポートが急務となっていました。
ガイドラインについて
こうした背景・課題を踏まえ、MagicPodのエンジニアチームでFlutterアプリのテストのサポートについて調査と検証を進めた結果、次の3点を満たすようFlutterアプリを実装すれば、Appium(及び内部的にAppiumを利用している自動テストツール)における多くのUI要素検出の問題が解消されることがわかりました。
1. Flutterバージョン3以上を利用すること
2. テストで操作する各ウィジェットにアクセシビリティ情報を指定する
3. テストで操作する各ウィジェットのZオーダーを適切に設定する
そこでMagicPodでは、この3つの手順について具体的に記載した「E2EテストのためのFlutterアプリ実装ガイドライン」を作成・公開しました。このガイドラインは、MagicPodのみならず、AppiumやAppiumを内部的に利用する幅広い自動テストツールで利用できる、汎用的なガイドラインとなっています。
MagicPodによるFlutterアプリのサポートを正式に開始
ガイドラインの完成を受け、MagicPodでもFlutterアプリのテストを正式にサポートすべく、さまざまなパターンでの動作検証及び安定性向上のためのMagicPod側の各種改善を実施しました。さらに複数のトライアル企業ユーザーに実際にMagicPodでFlutterアプリのテストを自動化してもらい、自動化可能であることが確認できたため、対象アプリがガイドラインに準拠していることを条件として、今回Flutterアプリのサポートを正式に開始しました。
今後の展望
今後はさらに多くのFlutterアプリ開発者やQAに実際にガイドラインを活用してもらい、そのフィードバックを取り込むことで、ガイドラインをMagicPodユーザーのみならずFlutterのE2Eテスト自動化に取り組む多くの開発者・QAによって有意義なものにしていきたいと考えています。
さらに、今回Flutter向けのガイドライン作成で得たノウハウをもとに、将来的にはFlutterと同様に幅広く活用されているモバイルアプリ開発フレームワークReact Nativeに対しても、同様のガイドラインの作成・公開を進めていきたいと思います。
ガイドライン
「E2EテストのためのFlutterアプリ実装ガイドライン」は、下記からダウンロード可能です。(登録不要・無料)
「E2EテストのためのFlutterアプリ実装ガイドライン」ダウンロード
https://magicpod.com/resources/flutter_guide/
※MagicPodのFlutterアプリテストのサポート状況については、こちらのページ( https://support.magic-pod.com/hc/ja/articles/18845456266777 )から最新の情報を確認可能です。
AIテスト自動化プラットフォーム「MagicPod」について
「MagicPod」は、モバイルアプリテスト、ブラウザ(ウェブアプリ)テストの両方に対応したAIテスト自動化プラットフォームです。プログラミングなどの特別なスキルがなくても直感的に使うことのできるデザイン、クラウドでのサービス提供によるメンテナンス性の高さ、AI技術を活用した自動修正によるテストプログラム修正の手間削減などによりリリースサイクルの高速化を支援します。IT業界のリーディングカンパニーを中心にすでに500社以上の企業が導入しています。
・「MagicPod」公式サイト
・「MagicPod」コンセプト動画
https://magicpod.com/resources/introduction-movie/
「MagicPod」導入相談・2週間無料トライアルのお申込みはこちらからご覧いただけます。
https://magicpod.com/consulting/
<企業情報>
社名:株式会社MagicPod
代表取締役:伊藤 望
所在地:東京都中央区日本橋箱崎町1−2 The Shore日本橋茅場町 4階
設立:2012年7月
事業内容:AI技術を活用したテスト自動化クラウドサービス「MagicPod」の開発・運営
このプレスリリースには、メディア関係者向けの情報があります
メディアユーザー登録を行うと、企業担当者の連絡先や、イベント・記者会見の情報など様々な特記情報を閲覧できます。※内容はプレスリリースにより異なります。
すべての画像