Selenium
自動化
SeleniumIDE
自動テスト

最新のSelenium IDEを使ってヘッドレス実行したい!!っていう人向け情報(2018/04/23時点)

この記事の概要

  • 2018/04/23時点でSelenium IDEはsideファイルしか吐いてくれない。
  • テストコード書くほど熱意がない。
  • でも自動化したいテストがある。
  • できるだけ手間を掛けたくない。
  • 解決策としてSelenium SIDE Runnerがある
  • しかしまだベータで使えないぽい…?

Selenium IDEって何?(知らない人向け)

Web UIテストとかで使う、SeleniumというツールのIDE。
実際にブラウザでポチポチやるだけでそのとおりにブラウザを操作してくれるし、
ヘッドレスで動くコードを各言語向けに吐き出してくれたりする便利だったFirefox向けブラウザ拡張機能。
FirefoxがQuantumになった際に非対応となりお亡くなりになりました。

最新版のSelenium IDE

一度死んだSelenium IDEはWebExtensions対応となり帰ってきた!!
今度はChromeでも使えるぞ!!

Firefox版
Google Chrome版

…使えるには使えるんですがね。
吐き出せるファイルがsideという拡張子のファイルのみ(実体はjson)で
以前のように言語ごとのファイルは吐いてくれません。
そのため、そのままではさくっと無人テスト!とはいかないです。
jsonをパースして必要な機能を呼び出すなり、IDE諦めてコードをガリガリ書くなりするしかない…?

Selenium SIDE Runner

ほんとに話題に上らないんですが、実はSelenium IDEに付随して
sideファイルをもとにヘッドレス実行してくれるSelenium SIDE Runnerってのがあったりします。

Selenium SIDE Runner

Selenium SIDE Runnerを実際に使ってみる

※以下node.js及びselenium、必要なブラウザやドライバ類をインストール済みとして話を進めます。

インストール

node.js上で動くためインストールはとっても簡単です。
公式ドキュメントに沿って


$ yarn global add selenium-side-runner

もしくは


$ npm install -g selenium-side-runner

でインストール完了です。

実行方法

こちらも公式ドキュメントどおり


$ selenium-side-runner hoge.side

もしくは-cオプションでCapabilitiesを渡すこともできます。
Capabilitiesの詳細はこちら


$ selenium-side-runner -c "browserName=chrome platform=MAC" hoge.side

これでさくっと実行…!!といけばいいのですが
2018/04/23現在次のようなエラーが出てしまいます。


error:   The project hoge is of older format, open and save it again using the IDE.

いやいやいや!最新の使ってますがな!
メッセージどおり再保存しても、新たに作ってもダメ…。
(うまくいった人いますかね…?)

Releases的にはベータっぽいですね。

だが希望は見えた!?

Selenium IDEは暗黒時代に突入した感がありましたが、着々と進んでいるようですね。
READMEにもありますが、他の言語でのエクスポートも予定にはしっかり組み込まれているようです。
非エンジニアにシナリオを作ってもらう際に非常に重宝していたので応援していきたいですね。