あれ、意外と便利なんじゃないか、このソフトウェア? Seleniumと言えばブラウザを擬似的に操作してテストを自動化したり、ちょっとしたスクレイピング系の操作をするのに便利なソフトウェアです。Google Chrome/Firefox/IE/PhantomJSなどに対応しており、マルチブラウザでテストができます。 そんなSeleniumはRubyやPython、Java、C#といった言語向けにテストコードを出力できるのですが、さらにVBAでも使えるようにしたソフトウェアがSelenium VBAです。 とんでもかなぁと思ったのですが、いやいやそんなことはなさそうです。 インストールすると、フォーマットやエクスポートにVBA/VBSが追加されます。 インストール後は普通にSelenium IDEを動かして、そのコードを取得するだけです。

Public Sub test()
  Dim selenium As New SeleniumWrapper.WebDriver
  selenium.start "firefox", "http://code.google.com/"
  selenium.setImplicitWait 5000

  selenium.open "/p/selenium/wiki/SeIDEReleaseNotes"
  selenium.clickAndWait "link=Project Home"
  selenium.clickAndWait "link=Downloads"

  selenium.stop
End Sub

まさにSeleniumっぽいコードが書かれています。さらにIfなどで分岐させても良いでしょう。

サンプルです。そう、VBAということはExcelからブラウザを操作してテストできるようになるのですよ! ブラウザは自由に指定できる訳ですが、今回はFirefoxです。

何が便利かと言えば、Excelであればテスト値を表形式で管理して、それぞれをSeleniumで実行するといったことが容易にできるということです。さらにテスト結果をログしておいて後で集計したり、日ごとのチェックも簡単にできます。これは自動テストにかなり役立つのではないでしょうか。 VBスクリプトから簡易的に動かすのも良いですが、やはりExcelやAccessからの使い方が一番良さそうな気がします。 Selenium VBAはWindows用、GPLのオープンソース・ソフトウェアです。 selenium-vba - Selenium wrapper and fomatters for Visual Basic Application and Visual Basic Script - Google Project Hosting