WebDriver
Selenium
SeleniumIDE

まだまだ使うぞSelenium IDE

More than 1 year has passed since last update.

こんにちは!
この期におよんでまだSelenium IDEの技術記事を書くクソバカは誰だ!!!
俺だよ!!!!

思ったより早く死にましたテヘッ

WebExtensionsへの完全移行はFirefox 57からだとMozilla公式ブログに書いてあったので、もうちょっといけると思っていたのですが...

Add-ons in 2017 | Mozilla Add-ons Blog

先日リリースされましたFirefox 55でSelenium IDEを起動してみたところ、

Selenium IDE on Firefox 55

ウッ
動け、動け、動いてよ!!
「Table view is not available with this format.」ってなんなんだよ!!!!

単なるデグレっぽい

同じエラーメッセージは2013年から折々報告されているもので、GitHubにも2015年頃からのissueがあります。
なので、WebExtensionsへの移行が直接的に関わったものというよりは、単にこれまでもよくあった不具合の類なんじゃないかな〜という気がします。

しかしまあ、どの道 3ヶ月くらい後には使えなくなるソフトウェアですから、正直 今がんばってそこだけ直そうって感じのものでもないですよね...
Selenium開発コミュニティは、今のSelenium IDEはFirefox 55で打ち止め!ということで早々に区切りをつけて、WebExtensionsに対応した次世代のGUIツールを作り直すことにした旨を公式ブログで発表しました。

Firefox 55 and Selenium IDE | Official Selenium Blog

この記事では Applitools のメンバーが支援に入ったことについても言及されていて、期待が高まりますね。
また同時に、議論の場として 公式SlackSelenium Developers フォーラム などについても言及されています。開発者でなくても、ぜひ気軽に意見を出していきましょう!

いま動かなきゃなんにもならないんだ!!!

さて、次世代のツールができるまでにはまだまだ時間がかかりますが、その間に仕事をしないわけにはいきませんから、なんとか工夫してつないでいかなければなりません。
Selenium IDEが急に使えなくなってしまったので、あわててFirefox 54にバージョンを戻した方もけっこういらっしゃるようですが、サポート切れの古いバージョンでしばらく運用し続けるというのは脆弱性対応の観点ではおすすめできません。
この機会に、法人向けで機能更新のスピードがゆるやかなFirefox ESRに切り替えてみましょう。ESRの現行バージョンはFirefox 52ベースで、2018年6月26日までサポートされる予定です。

Mozilla Japan 法人向け情報 — Firefox の事例と関連情報

一度Firefox 55に更新してしまった環境ではユーザープロファイルがFirefox 55以降の状態に変わってしまうため、ESR 52に切り替えてもユーザープロファイルに引きずられてSelenium IDEが正しく動作しない場合があります。
このようなときは、ESR 52のインストール後に、Firefoxのリフレッシュを行いましょう。

Firefox をリフレッシュする - アドオンや設定のリセット | Firefox ヘルプ

URL欄に about:support と入力すると、「トラブルシューティング情報」が表示されます。

スクリーンショット 2017-08-13 20.11.10.png

この画面の右上にあるボタン「Firefoxをリフレッシュ」を押すと、すべてがリセットされ、ユーザープロファイルも初期状態になります。

スクリーンショット 2017-08-13 20.15.18.png

アドオンもすべて無くなってしまいますので、Selenium IDEはインストールし直しましょう。

Selenium IDE :: Add-ons for Firefox

スクリーンショット 2017-08-13 20.17.29.png

今アクセスすると「This add-on is not compatible with your version of Firefox」とか言われて悲しくなりますが、 一見押せないようになっている「Firefoxへ追加」ボタンは押せます ので泣かないでインストールしましょう。

これでしばらくはなんとかなるでしょう...

コメント欄が本番

ところで、先ほどのSelenium開発コミュニティ公式ブログの記事ですが、

Firefox 55 and Selenium IDE | Official Selenium Blog

「そもそもSeleniumのFirefox対応って終わってねえ?」という思い切ったコメントに対してSimon Stewartがいろいろ反論している中、ちょっと気になる記述が...

When the spec is complete, a useful set of automation "atoms" will be in place for the next generation of browser automation to build upon.

WebDriverがW3C勧告になったら、次世代のブラウザー自動化のための "atoms" に着手するということでしょうか?
これはおそらく、2010年に公式ブログで言及された構想のことで、Selenium 3となった今も主にJavaScriptリソースの中で開発が続いているコードのことだと思われます。

Going Atomic: Why? | Official Selenium Blog

私はSeleniumの内部仕様には詳しくないのですが、現状はブラウザドライバごとにばらばらになっているコードベースを統一して、ブラウザそれぞれの拡張を書けば良いだけにしようという構想なんでしょうかね?
Appium 2で推し進められようとしている、WebDriverプロトコルを応用して広範囲のプラットフォームの自動操作に対応していく「StarDriver」構想とも、なんだか密接な関係があるような気がしますね。
2018年〜2019年あたりのトピックスになってくると予想して、いろいろ楽しみにしておきましょう。