YAMLを書くだけでモバイル&Webアプリのテストが自動化できる! — Maestro

mobile-dev-inc/MaestroKotlin12.7k

Maestroは、Android・iOS・Webアプリの画面操作テスト(E2Eテスト)を簡単に自動化できるオープンソースのフレームワークです。テスト内容を人間が読みやすいYAML形式(設定ファイルのような書き方)で記述するだけで、「ボタンをタップする」「文字を入力する」「画面に表示されているか確認する」といった操作を自動的に再現してくれます。AppiumやSeleniumなど従来のテストツールの課題を踏まえて作られており、画面の読み込み待ちなどを自動で処理してくれるため、テストが途中で不安定に失敗する問題が起きにくい設計になっています。React NativeやFlutterなどのクロスプラットフォームアプリにも対応しており、コンパイル不要でインストールもワンコマンドと、5分以内に最初のテストを実行できる手軽さが魅力です。

🔥 なぜ話題?

モバイルアプリ開発においてE2Eテストの自動化は長年の課題でしたが、Maestroは従来ツール(Appium等)の複雑さや不安定さを解消するアプローチで注目を集めています。特にYAMLだけでテストが書ける手軽さと、Flutter・React Nativeなどクロスプラットフォーム対応の幅広さが、現在のモバイル開発トレンドにマッチしています。

💡 こう使える!

例えば、あなたのチームがスマホアプリの「新規連絡先の追加」機能を開発している場合、YAMLファイルに『アプリを起動→「新規作成」ボタンをタップ→名前を入力→保存ボタンを押す』と書くだけで、毎回手動でポチポチ確認しなくても、コマンド一発でその操作が正しく動くかを自動チェックしてくれます。

ユースケース: モバイルアプリやWebアプリの画面操作テストを、手作業ではなく自動で繰り返し実行したい場面で使います。

  • YAMLファイルに操作手順を書くだけでAndroid・iOS・Webのテストを自動化
  • 画面の読み込み待ちを自動処理し、テストが不安定に失敗しにくい設計
  • インストールはワンコマンド、コンパイル不要で5分以内にテスト実行可能
GitHubで見る →

Painless E2E Automation for Mobile and Web

技術情報

言語

Kotlin

ライセンス

Apache-2.0

最終更新

2026-03-20

スター数

12,695

フォーク数

716

Issue数

493

トピック

androidblackbox-testingiosui-automation

技術詳細

アーキテクチャ・仕組み

  • インタープリタ方式: YAMLで記述されたフローをコンパイルなしにそのまま解釈・実行するため、テストの修正→再実行のサイクルが非常に高速
  • スマートウェイティング: UIの変化を自動的に待機する仕組みが内蔵されており、手動で sleep() を挟む必要がない
  • フレイキネス耐性: テストが不安定に失敗する(flaky test)問題に対処するための仕組みが組み込まれている

対応プラットフォーム

  • Android: エミュレータおよび実機
  • iOS: シミュレータおよび実機
  • Web: ブラウザ
  • クロスプラットフォームフレームワーク: React Native、Flutter、ハイブリッドアプリに対応

動作環境

  • 必須: Java 17以上
  • 対応OS: macOS、Linux、Windows(WSL経由、または通常のWindowsインストール)

主要なコマンド・機能

  • launchApp – アプリの起動
  • tapOn – 要素のタップ
  • inputText – テキスト入力
  • assertVisible – 要素の表示確認
  • その他、YAMLベースで様々なUI操作を記述可能

Maestro Studio(デスクトップIDE)

  • macOS、Windows、Linux向けのネイティブアプリとして提供(無料だがオープンソースではない)
  • ビジュアルフロービルダー: 操作を録画して要素を検査し、GUIでフローを構築可能
  • AI支援(MaestroGPT): テスト作成時にAIがコマンド生成や質問への回答を支援

Maestro Cloud

  • テストスイートを並列実行し、実行時間を最大90%短縮
  • 決定論的な(毎回同じ条件の)テスト環境を提供
  • 通知機能とデバッグツールを内蔵
  • 7日間の無料トライアルあり、料金は公式サイトで公開

競合・類似ツールとの違い

MaestroはAppium、Espresso、UIAutomator、XCTest、Selenium、Playwrightなど既存ツールの課題を踏まえて設計されている。特に以下の点で差別化:

  • YAML記述による圧倒的な記述の簡単さ(コード不要)
  • 自動待機によるテスト安定性の向上
  • モバイル(Android/iOS)とWebを一つのツールでカバー

ライセンス

  • Apache License 2.0(オープンソース、商用利用可能)
  • Maestro StudioはオープンソースではないがMは無料で使用可能

インストール・クイックスタート

前提条件

Java 17以上が必要です。バージョン確認:

java -version

CLIのインストール(macOS / Linux / Windows WSL)

curl -fsSL "https://get.maestro.mobile.dev" | bash

次のステップ

  1. アプリのビルドとインストール
  2. サンプルフローの実行
  3. 最初のフローを書く

通常のWindows環境でのインストールは公式ドキュメントを参照してください。

参考になる外部の関連記事

関連リポジトリ