Appium Conferenceとは
Appiumとはネイティブアプリ、モバイルウェブ、ハイブリッドアプリの操作を自動化できるオープンソースのツールです。iOS、Androidを中心に複数のプラットフォームをサポートするクロスプラットフォームのツールでもあります。
Appium ConferenceはAppiumを中心とした国際カンファレンスで、去年の2018年に初めてロンドンで開催され、今年で2回目となるカンファレンスがインド・バンガロールで開催されました。セッションでは、Appiumプロジェクトのコミッターや現場でAppiumを使って自動化を推進している方々から最新の機能やAppiumの有効な使い方、事例などを聞くことができます。
基調講演から見るAppiumの今後
初日の基調講演では、AppiumプロジェクトのリードコミッターでありCloud Greyの創業者でもあるJonathan Lippsから「Appium: The Next Generation」というタイトルでセッションが開かれました。
その講演の中で、重要なキーワードは2つありました。1つ目は「Beyond Functional Testing」です。
ここでいう"Functional Testing"(以後、機能テストと呼ぶ)は、画面を操作して特定の機能を実行して結果を確かめる(例えば、ログイン画面でログインしてユーザ名が表示されていることを確認する)テストを言います。
一昔前は機能テストを自動化するだけでアプリケーションの品質をあるていど保証できていましたが、今はアプリケーションがより複雑になり、より高品質が求められるようになってきたことで、今までの機能テストでは不十分になってきました。
「Beyond Functional Testing」には、機能テストを当たり前に自動化していくことに加えて、他のテスティングもしていかなければならない、というメッセージです。自動テストに対するニーズが変化してきたことを的確に表したキーワードになっています。
「Beyond Functional Testing」の代表的なテスティングとして、
- Visual Testing
- Performance Testing
- UX Testing
- A/V Testing
などが挙げられていました。本カンファレンスでもVisual Testing、Performance Testingに関するセッションは多かったという印象です。後ほどVisual Testingのセッションについて取り上げたいと思います。
2つ目は「Appium is the common interface for platfrom automation」です。
Appiumはどのプラットフォームでも同じAPIを使用して操作することができるインターフェースを提供しています。その利点はTizenやyou.iなどの新規のプラットフォームの追加がしやすくなること、どのプラットフォームでも同じインターフェースで操作できるためAppiumの使用者は学習しやすいことが挙げられます。
そしてAppium自体の進化も見逃せません。Appiumの新バージョンであるAppium 2.0の新機能についても2つ取り上げられていました。
1つはプラグイン形式で、AIを使用して要素を指定できるappium-classifier-pluginのように、特定の目的に特化したプラグインを追加できるようになります。
2つ目の新機能は、ドライバーの併用です。例えばAndroidにはEspresso DriverとUiAutomator2 Driverの2つのドライバーがあり、それぞれ得意なことが異なります。今までは起動時にどちらかのドライバーを選択し、そのドライバーを終了時まで変更できませんでしたが、Appium 2.0では状況に合わせてドライバーの切り替えができるようになります。
さきほどいったようにAppiumは今後プラグイン形式を採用することで、Appiumにすべての機能を実装するのではなく、Appiumのエコシステムを作っていこうとしています。
そのエコシステムの中でAppiumはベースとなるプラットフォームごとの自動化を提供し、それ以外の機能については、例えばVisual TestingやPerformance Testing、今流行りのAIに使用したTestingなどはそれぞれに特化したプラグインで提供され、自分のテストの目的に合わせてAppiumをカスタマイズして使用できるようになっていきます。
残念ながらAppium 2.0のリリース日の発表はありませんでしたが、Appiumは今後もさらに進化したものになることは間違いありません。非常に期待が膨らみます。