#grunt-seleniumとは
FirefoxのAdd-onのSelenium IDE
で作ったテストケース、テストスイートを実行できるGruntプラグインです。内部ではWebDriver Wire Protocolを利用
#Selenium IDEの問題点
SeleniumIDE
は画面上でデバッグできる反面、Firefox上でしか実行できないのが残念です。
WebDriverのプログラムコードへのエクスポート機能を利用すれば、他のブラウザで実行できますが、
エクスポート時に対応していないコマンドが多数あったり、、、
WebDriver Playbackの登場によって他のブラウザでの実行が解決されましたが、
gruntからPlaybackを実行できる方法がわからなかったので、gruntからテストケースのHTMLをパースし、wb(node.js)で実行という方法をとりました。
#grunt-seleniumで何ができるか
- SeleniumIDEで作成した複数のテストスイートを一括実行できる
- SeleniumIDEのコマンドをWebDriverで実行できる(WebDriverに足りていない機能を補完)
- Firefox以外のブラウザでも実行できる
- 実行結果をTAP形式で出力できる
#Install
npm install --save-dev grunt-selenium
#Grunfileのサンプル
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
// Configuration to be run (and then tested).
selenium: {
options: {
startURL : 'http://sideroad.secret.jp/',
browsers: ['firefox', 'chrome', 'phantomjs'],
log: 'test/wd.log'
},
main: {
files: {
'test/main.tap': ['test/*.suite']
}
}
},
clean: ['test/main.tap']
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-selenium');
// By default, lint and run all tests.
grunt.registerTask('default', ['clean', 'selenium']);
};