CSV形式の試験データからSeleniumテストケースを生成
Selenium IDEを使うと画面試験を自動化できて便利です。特にSelenium IDEはFirefoxのアドオンになっており、かなり機動性が高いと言えます。ちょっとした画面試験にはもってこいです。
ただ、Selenium IDEには弱点もあります。値だけ変えて同じシナリオを繰り返し使いたいとき、値を一つ一つ書き換える必要があります。Aを入力したとき、Bを入力したとき、...というテストケースを自動生成できれば便利と思い、Selenium Table Generatorを作ってみました。
シナリオの作成
Selenium IDEを起動してシナリオを作成します。シナリオとは例えば、
テキストボックスにtestdataを入力し、検索ボタンを押す。遷移先のページのテキストボックスにtestdataが表示されていることを検証する。
といったものです。シナリオ中のtestdataを様々な文字列に置き換えることで、バリエーションの試験ができます。
シナリオができたらHTMLコードを貼り付けてください。
どの項目をパラメータにするか選択します。クリックした順に番号が振られるようになっており、試験データの列番号と対応します。試験データの作成
Excelを起動して試験データを作成します。カンマ区切り(CSV)またはタブ区切り(TSV)が使えます。量が少なければ手で作成した方が早いですね。
カンマ区切りまたはタブ区切り形式で保存し、テキストボックスに貼り付けてください。テストケースの生成
ボタンを押すとテストケースが生成されます。表の中身を確認してみてください。正しければ、テキストボックスに表示されているHTMLをSelenium IDEに貼り付けて試験してみましょう。
適用例
上記のテストケースを実行してみたところ、以下の文字がはてな検索で文字化けすることが分かりました。まあ検索では使わないですけどね。
今日さっそく仕事でも使ってみました。Webアプリで文字化けする文字を調査するため、シフトJISの全角記号すべてに対して試験を行いました。仕様検討漏れを見つけるような試験では重宝するかもしれません。
[error] Actual value '? ? | … ‥ ‘ ’ “ ” ( ) 〔 〕 [ ] {' did not match '〜 ‖ | … ‥ ‘ ’ “ ” ( ) 〔 〕 [ ] {'
[error] Actual value '} 〈 〉 《 》 「 」 『 』 【 】 + ? ± ×' did not match '} 〈 〉 《 》 「 」 『 』 【 】 + − ± ×'
[error] Actual value '$ ? ? % # & * @ § ☆ ★ ○ ● ◎ ◇' did not match '$ ¢ £ % # & * @ § ☆ ★ ○ ● ◎ ◇'