この度は本書を手に取っていただきありがとうございます。本書はAirtestという自動化ツールについて、Unityにフォーカスした使い方を解説する本です。Airtestについて、概要やツールの使用方法、フレームワークの機能について色々と説明します。最後におまけとして、シナリオベースでどういう実装をするかサンプルをのせています。Airtestをはじめて聞いた、Unityでの開発で自動テストをしたことがないという方でも最終的に自動テストの実行手順がイメージできることが本書のゴールとなります。
本書ではたびたび「自動テスト」という言葉が登場しますが、これはUnity製アプリケーションにおけるUIテストの自動化を指します。いわゆるスクリプトに対する自動的なバリデーションであったり、Unity Test Frameworkなどを活用した単体テストについては本書では触れないのでご注意ください。また、Airtest自体はAndroid、iOS、Windowsといったクロスプラットフォームでの実行に対応していますが、本書ではAndroid端末を対象にしたAirtestの自動テストについて解説します。iOS、Windowsでの使用法を期待されている方については、本書ではその点について触れないため、ご注意ください(iOSに関してはあまり挙動が安定しないため、筆者個人的にはAndroidかWindows環境を推奨します)。さらに、本書ではAirtestに付随して提供されているPocoというテスト用のフレームワークについても説明を行います。PocoはUnity、UnrealEngine、Cocos-2dxといった複数のゲームエンジンを対象にした機能を備えていますが、本書ではUnityをターゲットとして紹介します。他のゲームエンジンについても似たような手順で実装を行うことはできますが、詳細に関しては異なる点もありますので、他のゲームエンジンで使用されたい方はご注意ください。
本書は以下のような読者を対象としています。最後に提示するUnityのプロジェクトはついての説明は省略している箇所もありますので、ご留意ください。
・Unityについて開発経験があり、基礎的な機能(基礎的なC#の文法およびGameObjectやuGUIなどの基本機能)を理解されている方
・adbを活用したAndroid端末とPCの接続および基礎的な操作がわかる方
・Airtestを活用した自動テストの構築に興味のある方
・Unity製のアプリケーションでのUIテストの自動化に興味のある方
本書ではAirtestおよびPocoの提供するIDEやフレームワークの機能について解説します。より詳細な機能や説明を知りたい方は公式のリポジトリおよびドキュメントを参照しながら読み進めることを推奨します。(日本語のドキュメントは現状ないため、英語のドキュメントのリンクを貼っています)
・AirtestのGitHubリポジトリ: https://github.com/AirtestProject/Airtest
・Airtestのドキュメント: https://airtest.readthedocs.io/en/latest/
・PocoのGitHubリポジトリ: https://github.com/pocoproject/poco
・Pocoのドキュメント: https://poco-chinese.readthedocs.io/en/latest/
本書で使用しているツールやライブラリのバージョンは以下の通りです。
・Airtest: 1.2.13
・Python: 3.9
・Unity: 2021.2.0f1
以上のバージョンに差異がある場合、挙動について異なる場合がありますのでご注意ください。
本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。