SeleniumConfとは
Selenium WebDriver(セレニウム・ウェブドライバー)はクロスブラウザ・クロスプラットフォームでブラウザ操作を自動化できるオープンソースのツールです。今年WebDriverの仕様がW3Cの勧告に到達したことでも話題になりました。
- 『「WebDriver」がW3Cの勧告に到達。Webブラウザのテスト自動化などを実現』(Publickey)
SeleniumConfはそのSelenium WebDriver、そしてネイティブアプリの自動テストを可能にするAppium(アピウム)を中心とした国際カンファレンスです。主には、Seleniumプロジェクトのコミッターや、現場で自動テストを推進するエンジニアによるセッションの聴講や交流を行うことができます。
現在では1年に2回開催されており、来年の4月には東京で開催される予定です。
次からは実際のセッション内容についてご紹介します。
AIを用いた自動テストの第一歩、画面要素指定
SeleniumConfでも昨今話題になっている「AIと自動テスト」に関する話がありました。特に注目したいのはtest.aiのJason Abon氏によるセッション「AI for element selection」です。
一般的にSelenium/AppiumではIDやCSSセレクタ、XPathを用いて画面内の要素を取得し、ソースコードに記述していきます。これらは細かな修正による変更によっても影響を受けるため、安定性やメンテナンス性に課題がありました。
今回の発表ではIDやCSSセレクタを書かず、AIに要素(アイコンなど)を学習させた上でlabel(cartやsearchのような名称)を記述するだけで、該当の要素を見つけて取得してくれるというものでした。
AIで要素を取得すると上図のような記述だけで済むため、メンテナンス性は格段に上がった印象を受けました。また、要素を取得する時間が増えてしまうのではないかという懸念もありましたが、実際に動いているところを見ると、かなり早く取得できていると感じました。
もともとゲームエンジンで制作されたモバイルゲームの分野では、画面要素を取得するのが難しいため、Appium+OpenCVを使い自動テストを実装するなど(下のリンク参照)、さまざまな取り組みが行われてきました。
今回はAppiumプロジェクトが主体となって取り組んでおり、かつ実際に見て実現レベルまできていることが肌で感じられたため、今後に期待できます。