システム開発現場の道具箱

株式会社モノクレアが運営するIT技術系のブログです。システム開発の現場で役に立つ情報を掲載しています。

Selenium IDEで記録したテストスクリプトをSIToolkitで実行する

Selenium IDE(Firefox Plugin)で記録したテストスクリプトをSIT-WTで実行する方法を紹介します。 これにより、エビデンスの取得やテストケースの複製が簡単にできるようになります。

セットアップ

SIT-WTのクイックスタートにある実行環境の準備を行ってください。

次に、以下ソフトウェアの最新バージョンをダウンロードしてインストールします。

※拡張子が「xlsx」のエクセルを編集できるソフトウェアがあれば、LibreOfficeはインストール不要です。

上記ソフトウェアの準備ができたらmyprojectというディレクトリを作成し、その中に下記pom.xmlをダウンロードして配置してください。

pom.xml

myproject
  - pom.xml

Selenium IDEでテストスクリプトを記録する

Selenium IDEを使用し、Firefoxの画面操作を記録してテストスクリプトに保存します。 サンプルとしてYahooトラベルから宿泊先を検索するテストスクリプトを作成します。

  1. Firefoxを起動し、Yahoo! JAPANを開きます。
  2. 起動したFirefoxをアクティブにし、Altキー>ツール>Selenium IDEをクリックし、Selenium IDEウィンドウを起動します。
  3. Selenium IDEウィンドウ上の「Record」ボタンがONになっている(f:id:tkdy0115:20160220131157p:plain)ことを確認します。 ※デフォルトの設定であれば「Record」ボタンは、Selenium IDEウィンドウ起動時にONになっています。
  4. 以下の流れに沿ってFirefox上で操作を行い、Selenium IDEにテストスクリプトを記録します。

    • 画面左側のサイドバー「主なサービス」にある「旅行、ホテル予約」をクリック
    • 「行き先」の都道府県、市区町村、エリアなどを選択し、検索ボタンをクリック f:id:tkdy0115:20160220142028p:plain
    • 宿泊先の詳細条件を追加し、検索ボタンをクリック f:id:tkdy0115:20160220141915p:plain
  5. 操作が完了したら「Record」ボタンをクリックしてOFF(f:id:tkdy0115:20160220131549p:plain)にします。

  6. SeleniumIDE上でアクション>現在のテストケースを実行、もしくはf:id:tkdy0115:20160220140630p:plainをクリックし、テストを実行します。 f:id:tkdy0115:20160220131425p:plain:w350

    全コマンド行が緑色になり、正常に終了すればOKです。

  7. Selenium IDEでファイル>テストケースを保存をクリック、「ファイルの種類」を「HTML ファイル」に設定し、テストスクリプトをhtml形式で保存します。 保存先はpom.xmlと同じ階層のディレクトリです。

myproject
 - pom.xml
  - YahooTravel.html ← ここに保存

テストスクリプトをSIT-WTで実行する

作成したSelenium IDEのテストスクリプトを使用し、テストを実行します。

テストの実行

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。

cd /path/to/myproject
mvn verify

動作

SIT-WTが提供するテストスクリプト変換機能により、Selenium IDEのテストスクリプトがSIT-WT形式のテストスクリプトに変換されます。 変換後のテストスクリプトを入力とし、SIT-WTがテストを実行します。 テストが終了すると、ブラウザが起動しテストエビデンスが表示されます。

f:id:tkdy0115:20160220202639p:plain

変換されたSIT-WT形式のテストスクリプトおよびテストエビデンスはtargetディレクトリ内に格納されます。

myproject
 - target
  - evidence_yyyyMMddHHmmss
   - YahooTravel.xlsx_001.html ← テストエビデンス
  - testscript
   - YahooTravel.xlsx          ← SIT-WTスクリプト

※以降では、SIT-WT形式のテストスクリプトを「SIT-WTスクリプト」と表記します。

テストスクリプトを編集する

SIT-WTスクリプトを編集し、テストを再実行します。

SIT-WTスクリプトの編集

SIT-WTスクリプトYahooTravel.xlsxを開き、以下の通り編集します。

  • 項目名の設定 「項目名」列に各操作項目の日本語名を記入します。
  • テストケースの複製 「ケース_001」列をコピーし、列名を「ケース_002」に変更します。
  • 操作の編集 この例では、ケース_002の宿泊料金の上限を編集します。

f:id:tkdy0115:20160220131923p:plain

SIT-WTスクリプトを使用したテスト実行

変換機能を使用せずにテストを実行する際は以下のディレクトリ構造でSIT-WTスクリプトを配置します。 また、再度変換対象とならないようYahooTravel.htmlは削除、もしくはmyproject以外のディレクトリに退避します。

myproject
 - target
 - testscript
  - YahooTravel.xlsx     ← 編集したSIT-WTスクリプト
 - YahooTravel.html       ← 削除、もしくはmyproject以外に退避
 - pom.xml

ファイルを配置したら、コマンドプロンプトまたはターミナルで以下のコマンドを実行します。

mvn clean verify

テスト終了後、「テストスクリプトをSIT-WTで実行する」のときと同様に、ケース_001のエビデンスが表示されます。 画面左上にある「エビデンスへ」リンクをクリックするとエビデンスフォルダをブラウザ上で確認できます。 エビデンスはSIT-WTスクリプトにあるケース列ごとに1ファイル生成されるため、以下のようになっています。

f:id:tkdy0115:20160220202555p:plain

YahooTravel.xlsx_002.htmlをクリックすれば編集したケースのエビデンスが確認できます。

f:id:tkdy0115:20160220202606p:plain

【TIPS】 スクリーンショットのオプション

SIT−WTにはいくつかのコマンドラインオプションがあります。
例えば以下のように指定すると、スクリーンショットのサイズを自動的に調節します。

mvn verify -Dscreenshot.resize=true

調整なし
f:id:HiTake:20160221003738p:plain

調整あり
f:id:HiTake:20160221003941p:plain

また、以下のように指定すると、全ステップでスクリーンショットを撮るようになります。

mvn verify -Dselenium.screenshot.pattern=.*