selenium と ruby を使ってブラウザ GUI 操作を自動化する。
selenium は、Web アプリケーションの自動テストのためのツール。
レグレッションテストによく使われているようだ。
selenium は、ブラウザ操作シナリオを事前に設定して、シナリオ通りに実行してくれる。
シナリオ設定といっても、Firefoxプラグインの Selenium IDE などを使うと操作を
記録してくれる機能があるのでそこまで大変ではない。
詳細は、Ruby アソシエーション – selenium の “1.2 テストの作成”
あたりを参照してほしい
selenium は、クロスブラウザのツールで、IE を使って IE限定みたいなサイトでも使える。
IE や Chrome で使うには各 Selenium WebDriver が必要となる。
テスト用と言いつつ、使い道はいろいろとある。
- 社内のもろもろの web 申請は、入力項目が多いのに、毎回ほぼ同じ内容を入力させるので
フォーム入力の省力化として利用している。
- hp さんの iLO や日立さんストレージ、F5 さんのBIG-IP みたいな web 画面から設定変更するような機器の
自動構築なんかもできそう。
- スクリーンショットも撮れるので、エビデンスもついでに取得可能。
- vCenter とかも操作できないかという思惑はある。
- AWS とかも操作できるけど、そもそも API が豊富に備わっているから不要か。
- あえて selenium を使わなくてもいいけど、クローリングやスクレイピングとかもできる
この selenium は、Java や Python, Ruby などのプログラミング言語からシナリオ操作が可能で
ループ処理などするにはめちゃくちゃ便利。
いままでは Firefox プラグインだけで利用していたが、Ruby と絡めると便利すぎて感謝しかなかった。
ここでは、サンプルとして、はてなブックマークのホットエントリトップ5を一括で開くことを
やってみたい。
ちなみに似たツールに iMacro がある。
関連記事: seleniumノウハウ