SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「SeleniumConf Chicago」参加レポート

AI、サーバーレス、Dockerなど、Seleniumテストを安定化・スケールさせるためのヒントとは?【SeleniumConf Chicago】

「SeleniumConf Chicago」参加レポート(1)

  • このエントリーをはてなブックマークに追加

 10月18日から19日にかけて、アメリカ・シカゴでSeleniumConf Chicagoが開催されました。600人を超える開発者が集い、Selenium/Appiumを活用した自動テストについて20以上のセッションが行われました。この記事では、私が聴講したセッションを基に、Seleniumなどの自動テストを安定化・スケールさせるためにどのようなアプローチができるのかをご紹介します。

  • このエントリーをはてなブックマークに追加

SeleniumConfとは

 Selenium WebDriver(セレニウム・ウェブドライバー)はクロスブラウザ・クロスプラットフォームでブラウザ操作を自動化できるオープンソースのツールです。今年WebDriverの仕様がW3Cの勧告に到達したことでも話題になりました。

 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を使った画面要素の取得方法
AIを使った画面要素の取得方法

 AIで要素を取得すると上図のような記述だけで済むため、メンテナンス性は格段に上がった印象を受けました。また、要素を取得する時間が増えてしまうのではないかという懸念もありましたが、実際に動いているところを見ると、かなり早く取得できていると感じました。

 もともとゲームエンジンで制作されたモバイルゲームの分野では、画面要素を取得するのが難しいため、Appium+OpenCVを使い自動テストを実装するなど(下のリンク参照)、さまざまな取り組みが行われてきました。

 今回はAppiumプロジェクトが主体となって取り組んでおり、かつ実際に見て実現レベルまできていることが肌で感じられたため、今後に期待できます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
AWS Lambdaを使い、1時間以上のテスト実行時間を10分以内に

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

根本 征(株式会社メルカリ)(ネモト タダシ)

株式会社メルカリ Automation & QA グループ(通称:AQA)自動化エンジニア。2016年4月に新卒でメルカリに入社。QAエンジニアと共にモバイルをメインとしたUIテスト自動化を推進していく傍、モバイル CI / CD改善や社内の生産性を上げるための自動化・サポートを行なっている。GitHub:https://github.com/tadashi0713

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11199 2018/11/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング