
スマホアプリ開発のテストを自動化する「Appium」とは
見出し
1.オープンソースのテスト自動化ツール「Appium」
「Appium(アピウム)」は、オープンソースのテスト自動化ツールです。もともとは2011年に「iOSAuto」という名で開発され、のちに現在の名前に変更されました。2012年にはオープンソース化されています。
Appiumの特徴は、iOSおよびAndroidの環境で使用できるクロスプラットフォーム対応である点です。 Appiumが動作するOSはiOS/Android/Windows、Appiumを実行するクライアント環境がWindows/macOS/Linuxのため、開発するアプリケーションや自社の開発環境に合わせて使用できます。
2.Appiumを利用するメリットとは
Appiumでは、複数の言語(Ruby、Python、Java、C#など)を使ってテストスクリプトが記述できます。いずれも広く使用されている言語なので、新たに習得する必要がない人も少なくないでしょう。
加えて、Webブラウザを使ったテストの自動化で広く利用されている「Selenium」のノウハウを利用できる点も、Appiumを利用するメリットです。Seleniumを使っているテストエンジニアであれば、大きな学習コストを掛けることなく、使用できるでしょう。
さらに、Appiumはユーザーが多く、オンラインコミュニティも活発です。技術的な相談がしやすい点もAppiumのメリットといえます。
3.Appiumの仕組み
Appiumを使用するためには、Appium環境を動作させるためのPCやサーバーなどに、Node.jsやAppium Serverなどの実行環境を整える必要があります。PCやサーバーで作成したテストスクリプトは、Appiumを通じ、実機のスマートフォンに対して実行されます。
現在、Appiumは「Appium Server GUI」として提供されています。テストスクリプトを作成する際、実際の操作を基にコーディングできる「Appium inspector」というツールも用意されています。
また、Appiumで実機テストを行うためには、ローカルPCにスマートフォンの実機端末を接続する必要があります。スマートフォンには複数のモデルとOSが存在するため、スマートフォンアプリ開発で実機テストを行う際は、多数の実機端末が必要になります。
参考アーカイブ動画:準備するのはテストスクリプトのみ!手元の端末、appiumサーバの構築不要でAppiumを利用する方法をご紹介
4.Appiumでクラウド上の端末を使えば、実機端末が不要になります。
こうした自動テストに必要な実機端末は、自社で購入する方法のほかにも、レンタルサービスを利用する方法があります。中でも、データセンターに実機端末を配置し、クラウドサービスとして遠隔操作で利用できるサービスを利用すれば、テストの自動化に加えて、実機端末の調達も効率化することが可能です。実機のレンタルですと、予約から調達までの手間や時間もかかるでしょうし、返却の手間も発生します。また、実際に端末のある場所へ訪問してテストをする場合は、移動時間や交通費もかかってしまいますよね。
Remote TestKitでは、クラウド上で使える多様な実機スマートフォンを提供しており、リモート環境からすぐにご利用できます。
「Remote TestKit」では、仮想ADB(Android Debug Bridge)機能や Xcode連携機能(Xcode connector)を提供しています。これらを用いることで、クラウド上の実機端末を、Appiumを通じて操作することが可能です。なかなかカバーしきれなかった、多様なOSバージョン、画面サイズ、機種特有の動作などを検証することが可能になります。
5.テストスクリプトを準備いただくだけで、Appiumが利用可能に
「Remote TestKit」には、「Remote TestKit Appium自動テストクラウド」というサービスを用意しています。これは、ユーザーがAppiumサーバーや実機端末を用意することなく、テストスクリプトを作成するだけで自動テストが行えるクラウドサービスです。
「Remote TestKit Appium自動テストクラウド」には、Java・Ruby・Pythonで書かれたサンプルスクリプトが用意されています。通常のAppiumスクリプトに、Appium自動テストクラウドを利用するための記述を追記するだけで、Remote TestKit で提供されているさまざまな実機端末を使ったAppium自動テストが行なえます。
※2024年12月のアップデートにて、Appium自動テストクラウドの動作を高速化する改善を行いました。以前からご利用者様から「テストスクリプト実行開始までのリードタイムが長い」とのお声をいただいておりましたが本アップデートにより、テストスクリプト実行時の事前動作が短縮されます。(2025.2.7追記)
6.テストの効率化・自動化を、お手伝いさせてください!
スマートフォンアプリの開発で重要な検証作業を自動化することができれば、効率化はかなり加速します。ですが、テスト自動化を検討する際には、どの工程を自動化すべきか、どういった自動化ツールを選択すべきかなど、整理すべき課題もたくさんあります。今回紹介した弊社のクラウドサービス「Remote TestKit Appium自動テストクラウド」のみならず、自社にマッチした導入プランを検討することで、チームの生産性・効率性の向上も、より効果的に進められると考えられます。弊社では、そうしたご相談も承っております。是非お気軽にお問い合わせくださいませ。