お問い合わせ

1-1. 簡単なシナリオ作成

2017年8月にリリースされた FireFox バージョン 55 から、下記で紹介しているシナリオ作成ツール “Senenium IDE” が動作しなくなりました。
Selenium IDE でのシナリオ作成を試みておられる方で、Firefox バージョン 55 に更新されてお困りの方は、弊社までお問い合わせください。

シナリオ(ステップセット)を作るには、 FireFox と、FireFox のアドオンであるSelenium IDE を利用するのが簡単です。
ここではSelenium IDEの設定から、簡単なシナリオの作成等を説明します。(以下でご案内しているURL参照先やアプリケーションのバージョン等は 2017年6月時点での情報です)

目次

Selenium IDE の設定から起動まで

  1. Firefox で以下のページにアクセスして、[+ Firefox へ追加] アイコンをクリックしてダウンロードしてください。

  2. ダウンロードが終わったら FireFoxのメニューを開いて「+カスタマイズ」をクリックします。

  3. 「追加のツールと機能」が表示されますので、「Selenium IDE」のアイコンをドラッグして FireFox のツールバー上に置きます。

  4. 「カスタマイズを終了」をクリックしたあと、Selenium IDE のアイコンが以下のように表示されたら準備完了です。

  5. FireFox のツールバー上の Selenium IDE のアイコンをクリックすると以下の画面が開きます。

    右端上側の赤い丸印の濃淡が記録状態の ON/OFF を表しています。

    項目 設定内容
    記録状態 ON
    記録状態 OFF

シナリオを作成する

Web上にある動的な表示内容が期待通りの動作をしているかをチェックするシナリオを作ってみます。
ここでは、弊社HP上に設置してある「簡単お見積り」システムをチェックするシナリオを作る手順をご紹介します。
Selenium IDE を起動して記録状態になっていることを確認したうえで、FireFoxで以下の操作をしてください。

  1. 弊社HP https://www.rworks.jp/ にアクセスします。
  2. 画面を下にスクロールして 「Web シナリオ監視」をクリックします。

  3. ページが表示されたら右クリックをして、表示されるメニューから「assertTitle Webシナリオ監視 | システム運用監視、クラウド運用監視|アールワークス」を選択します。

    “assertTitle” は現在のページのタイトルが指定したものと一致しているかを確認する Selenium のコマンドです。
    目的のページに遷移しているかどうかを簡単にチェックするときによく使われます。
    今回の設定では、ページのタイトルが “システム運用監視、クラウド運用監視|アールワークス” である場合に遷移が成功と判定されて次のステップに進みます。もし、異なる文字列だった場合は失敗と判定されてシナリオ実行はここで終了します。
  4. Webシナリオ監視のページの右端メニュー 「簡単お見積り」 をクリックして、簡単お見積りの画面に移動します。

  5. “標準プラン” の各項目を以下のとおり選択、入力して、”月額単価” が 32,704円になることを確認してください。
    なお、ここでは “月額単価” の欄が自動的に更新されるように、”ブラウザ/OS” か、”シナリオ作成” のどちらかのプルダウンメニューを最後に操作してください。

  6. “MONTHLY CALCULATOR [ 計算結果 ]” の欄の”月額費用(税抜き)” が32,704 円になっていることを確認して “32,704” の文字の上をドラッグさせて反転させます。そして表示されたメニューから、”assartText id=sumRunLabel 32,704″ を選びます。

    “assertText” は指定箇所の文字列が指定したものと一致しているかを確認する Selenium のコマンドです。
    今回の設定では、見積計算の結果の欄を確認して、32,704 と表示されていれば成功と判定されて、もし異なる文字列だった場合は失敗と判定されます。

  7. ここまで操作すると、Selenium IDE の表示は概ね以下のようになっています。
    右上の赤いボタンをクリックして記録状態を OFF にします。
    また、[ファイル] → [名前を付けて保存] を選んでコマンド実行結果を保存します。こうして保存したファイルはWebシナリオ監視のシナリオファイルとしてそのまま投入することができます。

Selenium IDE でシナリオを実行する

作成したシナリオを Selenium IDE 上で実行して動作を確認してみます。

  1. [現在のテストケースを実行] ボタンを押すとシナリオの実行が始まり、FireFox 上でも先ほど実行したものと同じ画面遷移が行われていることがわかります。
    なお、実行前には “Fast – Slow” のスライダーを “Slow” にしておいてください。”Fast” では Selenium IDE が適切に Wait をかけない場合があります。
  2. 各ステップの実行がすべて成功で終了すると、Selenium IDE は以下のような表示になります。

    画面下側の [ログ] のタブに表示される各ステップの実行結果の一番下の行で、”Test case passed” と表示され、少し上の Failures: 欄でも失敗は “0” であることがわかります。
  • (参考) 以下はシナリオ実行で失敗した場合の表示例です。
    実際のWebシナリオ監視では、シナリオ実行に失敗した時点でアラートを発行するように設定することもできます。

Webシナリオ監視とSelenium IDE のシナリオ実行の差異について

同一のシナリオを使用しても、特に、複雑な挙動をするWebページにおいては Webシナリオ監視でのシナリオ実行と Selenium IDE でのシナリオ実行とでは結果が異なる場合があります。

シナリオを編集する (既存のシナリオを流用して新規シナリオを作る)

保存したステップセットは HTML 形式で記述されたテキストファイルですので、エディタで開いて編集することができます。また、簡単な編集であれば Selenium IDE 上で行うこともできます。

これまで作成した、15分間隔でWebシナリオ監視を行う見積額をチェックするシナリオを流用して、30分間隔の監視に変更した場合に、正しい見積金額である26,752円になるかを確認するテストケースをSelenium IDE 上で編集・作成します。

  1. Selenium IDE に表示されている、
    select  name=stdInterval_1  label=15分毎

    の行をクリックすると、”コマンド”、”対象”、”値” の欄に現在の設定値が表示されます。
    このうち、”値” の “label=15分毎” を “label=30分毎” に修正します。

  2. 同様に 一番下の assertText ~の行をクリックすると、”コマンド”、”対象”、”値”の欄に現在の設定値が表示されますので、”値” を “32,704” から “26,752” に修正します。
  3. [現在のテストケースを実行] ボタンを押すとSelenium IDEで実行が始まり、正しく動作していると以下のように成功します。

Selenium コマンドについて

シナリオ記録中に、ブラウザ内の領域を右クリックして表示されるメニューから、Selenium のコマンド (上述の例では、assertTitle, assertText 等) を選択できますが、「利用可能なすべてのコマンド」を選ぶとさらにいくつかの Selenium コマンドを選択することができます。
QS00-40

よく使われるコマンドには以下のようなものがあります。

コマンド 内容
assertTitle 現在のページのタイトルが指定したものと合っているかどうかを確認して異なれば失敗と判定する
assertText 指定箇所の文字列が指定したものと合っているかどうかを確認して異なれば失敗と判定する
assertValue 入力フィールド (フォーム等) の値が指定したものと合っているかどうかを確認して異なれば失敗と判定する

Selenium や Selenium コマンドについては以下のページに詳しく書かれています。

弊社でのシナリオ作成につきまして

Selenium コマンドは上記のようなページ上の要素の検証を行うためのもの以外にもページを操作するコマンドも用意されており、JavaScript等のプログラミング言語を使用してより複雑なテストのシナリオを作成することもできます。

これまでご説明してまいりましたように、Selenium IDE だけでもある程度の動的な振る舞いをする Web ページ向けのシナリオ作成を行うことができますが、より複雑なシナリオ作成をお考えのお客様には、弊社にてシナリオ作成も承りますのでご相談ください。

ご相談・お問い合わせはこちらから

サービスについてのご相談、資料のご請求など、お気軽にお問い合わせください。

03-5946-8400 平日 10:00 - 18:00
page top