selenium ide のテストケースからテストスイートを構築する
selenium ide のテストケースからテストスイートを構築するバッチを作りました。
selenium ide は便利なんだけど、テストスイートが作りづらいよね。
↓こんな感じでテストケースをたくさん作ったのはいいけど、一括で動かしたいからテストスイートがほしい。
もちろん、テストケースからテストスイートを作成するぐらいは自動生成してほしい。
手作業で追加なんて思考停止がやることだ。
できれば、Windowsで且つ余計なソフトを入れたくない、、、ってことで、
windowsのバッチで作りました。
@echo off rem 想定しているディレクトリ構成 rem rem 現在のディレクトリ rem | rem |------testcase rem | |----------テスト1 rem | |----------テスト2 rem | |----------テスト3 rem | rem |testsuite ←作成するテストスイート rem |このバッチファイル rem rem rem テストスイートが入っているディレクトリ. SET TESTDIRECTORY=testcase rem 最終的に更新したいテストスイートのファイル名 SET TESTSUITEFILENAME=testsuite echo "テストスイートを再構築します。よろしいですか?" pause rem テストスイートの作成..テンプレートがほしいね. echo ^<?xml version="1.0" encoding="UTF-8"?^>>__temp__new_testsuite echo ^<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"^>>>__temp__new_testsuite echo ^<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"^>>>__temp__new_testsuite echo ^<head^>>>__temp__new_testsuite echo ^<meta content="text/html; charset=UTF-8" http-equiv="content-type" /^>>>__temp__new_testsuite echo ^<title^>Test Suite^</title^>>>__temp__new_testsuite echo ^</head^>>>__temp__new_testsuite echo ^<body^>>>__temp__new_testsuite echo ^<table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium"^>^<tbody^>>>__temp__new_testsuite echo ^<tr^>^<td^>^<b^>Test Suite^</b^>^</td^>^</tr^>>>__temp__new_testsuite rem テストケースファイルを追加 for /F "delims=" %%i in ('dir /B /O:N %TESTDIRECTORY%\*.*') do ( echo %%i echo ^<tr^>^<td^>^<a href="%TESTDIRECTORY%/%%i"^>%%i^</a^>^</td^>^</tr^>>>__temp__new_testsuite ) echo ^</tbody^>^</table^>>>__temp__new_testsuite echo ^</body^>>>__temp__new_testsuite echo ^</html^>>>__temp__new_testsuite rem SJISを utf8に変換 rem 参考:http://scripting.cocolog-nifty.com/blog/2008/12/cmdexeunicodeut.html ( set /p x=""<nul & cmd /u /c type __temp__new_testsuite ) >__temp__new_testsuite_utf16 start /min /wait cmd /c chcp.com 65001 ^& cmd /c type __temp__new_testsuite_utf16 ^>__temp__new_testsuite_utf8 move /Y __temp__new_testsuite_utf8 %TESTSUITEFILENAME% del __temp__new_testsuite_utf16 del __temp__new_testsuite echo "テストスイートの構築が完了しました" pause
これをファイルに保存して、実行すると、testcase っていうディレクトリの中のファイルを名前順に昇順ソートして、テストスイートを作ってくれます。
このプログラムを作成するのに、Windows Script Programmingさんのcmd.exeとchcp.comだけで、文字コード(Unicode、UTF-8、UTF-7、JIS、EUC-JP、SJIS)を変換する! を参考にしました。
あとは、このファイルを selenium ide のテストスイートから読み込ませればこのとおり。
面倒な人のためにサンプルのzipもあるよ。
ご自由にどうぞ。
http://rtilabs.net/files/2009_09_11/sel.zip
追加。
あーーーはてなの余計なおせっかいでutf16のBOMが壊れているー。
↓ここ バグってんだろぉぉぉぉ
set /p x=""
不思議なことに引用だと破壊されないというww不思議ww仕様ww
set /p x=""
と、いうわけで、ソースのコピペはやめて zipから利用してください。