レポート

2016年のSelenium事情を総ざらい―「第4回Selenium勉強会」レポート

この記事を読むのに必要な時間:およそ 4 分

2016年12月18日,株式会社リクルートジョブズのご協力により,グラントウキョウサウスタワーで日本Seleniumユーザーコミュニティ主催の「第4回日本Seleniumユーザーコミュニティ勉強会」が開催されました。

今回の勉強会では,Selenium 3やAppium 1.6といった最新の技術情報や,イギリスで開催されたカンファレンスの参加報告を筆頭に,業務の中でいかにテスト自動化に取り組んだかが紹介された数々の事例や,話題の人工知能を使った開発中のツールの紹介など,日々の業務でテスト自動化に取り組んでいる技術者ならキャッチしておきたいトピックが扱われました。セッション中はTwitterのハッシュタグ#seleniumjpを付けたツイートも活発で,Togetterにまとめられた関連ツイートを見ると会場の熱気が伝わってきます。

このレポートでは,進歩の著しいテスト自動化の現在と未来が見える2つの発表を中心にまとめます。

2016 Selenium ゆく年くる年 ~最近のSelenium~(戸田広氏)

トップバッターで登壇された戸田広氏は,2016年のSelenium関連トピックを整理し,発表しました。

戸田広氏

戸田広氏

『Selenium実践入門』

第3回Selenium勉強会でも紹介された『Selenium実践入門』amazon.co.jpでベストセラー1位に輝いたそうです。ただし,なぜか「ブラウザ」カテゴリでの1位獲得ということで,会場からは笑いが起こっていました。

Selenium 3で変わったこと

Selenium WebDriver(Selenium 2)は,かつてSelenium RCとWebDriverを融合してリリースされました。ところが,Selenium 3はWebDriverのみのパッケージとなり,Selenium RCはleg-rc(レガシー)という別のパッケージに切り離されているそうです。お使いのツールがどちらに依存しているかで,対応方法が異なっています。

WebDriverを利用しているなら安心

まず,現在主流であるWebDriver側ですが,ほぼマイナーバージョンアップ程度の規模の変更にとどまっているそうです。ですので,SelenideFluentLeniumなど,WebDriverやWebDriverのラッパーを利用した既存のコードについては,とくに変更点はありません。

RC依存の秘伝のツールは移行できない!?

一方,leg-rcパッケージに切り離されたSelenium RCに依存しているツールは,単にSelenium 3に更新するわけにはいきません。leg-rcパッケージは,内部でWebDriver-backedベースの処理を行うようになっているため,移行できず切り捨てられたAPIも存在するようで,現場でSelenium RCを利用した秘伝のツールを使っている場合,移行する際は検証と対策が必要になります。

実行環境に関して

JavaバインディングでJava 8以上が必須に,RubyバインディングではRuby 2.0以上が必須になっています。WebDriverを使う上での大きな変更は無いとはいえ,このような実行環境の大きな変化も無くはないので,導入計画は慎重に立てることをお勧めします。

Firefoxが動かなくなる!?

Selenium 3のリリース前後でいくつかの主要ブラウザでWebDriverへの対応状況が大きく変わったことで,古いコードが動かなくなっていることがあります。しかし,それはたまたまタイミングが重なっただけで,Selenium 3のせいではないのだとか。

Selenium 最近のブラウザ対応状況

主要ブラウザを見ると,状況に大きな変化はないものと,大きく変化したものとに大別されます。

以前から大きく状況が変わらないブラウザ

Google ChromeやInternet Explorer,Microsoft Edgeといったブラウザは,ドライバー周りにとくに変化は無いそうです。ただ,Microsoft Edgeはマルチバイト文字列をsendKeysコマンドで使えるようになるなど利便性が上がっているので,必ず最新版を使いましょう。

めちゃめちゃ変わったブラウザ

大きく変わったブラウザの筆頭株がFirefoxです。未署名のアドオンが使ったことで,GeckoDriverの併用が必須となりました。ですが,以前のFirefoxDriverは古いFirefoxで動くので,法人向けのFirefox ESR 45を使うことで,2017年6月までは問題なく使えるとのことで,対策までの時間は取れそうです。

また,Macの標準ブラウザであるSafariですが,こちらはApple社によるSafariDriverが同梱されるようになりました。これにより,オープンソース版のSafariDriverは使えなくなりました。これについては,戸田氏による記事が参考になります。

最近とこれからのSelenium IDE

2017年11月28日リリース予定のFirefox 57からは,Selenium IDEとSelenium Builderがサポートされなくなるそうです。比較的手軽に扱えるSelenium IDEを使ってテスト業務を行なっているプロジェクトでは,Selenium 3への移行か,あるいは別のツールを採用するか,いずれにせよなにか手を打つ必要があります。Firefox ESR 52を使っていれば2018年中ごろまではサポートされる予定ですが,当たり前のように使っていたツールがある日突然使えなくなってしまうと,業務に与えるインパクトは非常に大きなものとなるはずです。

Appium 1.6 重箱の隅っこ

Appium 1.5から1.6へのアップデートに伴い,かなり変更点があるそうです。主要なところは別の発表に譲り,今回の発表ではリリースノートに記載されているニッチなポイントが取り上げられました。

AppiumとWindows desktop appliction

Microsoftの開発したWindows Application Driverに,Appium 1.6から対応しました。ただし,Windows Application Driverは,2016年11月にリリースされたv0.7-betaが最新版ということで,まだまだ発展途上のようです。

AppiumとYou.i TV

これはカナダの企業You.i TVが作っている映像アプリ開発に特化した商用SDKです。開発者向けの紹介資料までなら無料登録で読めるそうですが,いかんせん情報が少なく,Appiumプロジェクトにおいてどのような期待感を持って今回の対応に結びついたのかなど,まだまだ謎が多いのが実情のようです。

まとめ

2016年のSeleniumに関する動向を簡単にまとめると,次のようになります。

  • WebDriver標準化への流れが進んでいる
  • WebDriver対応が各ソフトウェアベンダの責務であるという雰囲気がいよいよ現実味を帯びてきた

著者プロフィール

河原田政典(かわらだまさのり)

プログラミングとテスティングの経験がある本好きエンジニア。最近広々とした部屋に引っ越したのに,技術書の山にあっさり埋もれて途方に暮れている。地震が来たりしませんように……。

コメント

コメントの記入