テストケースを作成する流れ
続けて、テストケースを作成していきます。ここではマイコミジャーナルのエンタープライズページで次の2つのテストを行います。
- タイトルが「エンタープライズ | マイコミジャーナル」であるはず
 - ページ上に「アクセスランキング(エンタープライズ)」という文字があるはず
 
テストケースを作成する手順は次の通りです。
- Selenium IDEでレコーディング
 - テストケースをC#で出力
 - NUnitのテストコードをカスタマイズ
 
(1)Selenium IDEでレコーディング
まず、Webブラウザを操作してレコーディングを行います。FirefoxのツールメニューからSelenium IDEを起動します。
レコーディングはすでに始まっているので、テストするページに移動します。そしてタイトルのチェックを行うため、ブラウザで右クリックして「AssertTitle エンタープライズ ||マイコミジャーナル」をクリックします。
次に、「アクセスランキング(エンタープライズ)」の文字をマウスで選択してから右クリックします。そして、メニューの「assertTextPresent アクセスランキング(エンタープライズ)」をクリックします。
コマンドが登録されたことを確認して、赤色の丸ボタンを押してレコーディングを停止します。矢印ボタンを押すとレコーディングしたテストが実行されます。
成功すればコマンドが緑色で表示されます。
(2)テストケースをC#で出力
次にレコーディングした内容をC#のコードで出力します。オプションメニューから[フォーマット]-[C#]を選択します。
(3)NUnitのテストコードをカスタマイズ
生成されたコードをコピーして適当なクラスに貼り付けます。そして、クラス名等をわかりやすいように変更します。
生成されたテストコード(コメントなどを追加)
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using NUnit.Framework;
using Selenium;
namespace SeleniumTests
{
  [TestFixture]
  public class エンタープライズページの表示
  {
    //Seleniumコマンドを実行するための変数
    private ISelenium selenium;
//verify(エラー時も継続)を使った時にエラー内容を保存する変数
private StringBuilder verificationErrors;
[SetUp]
public void SetupTest()
{
  //Seleniumの設定
  selenium = new DefaultSelenium("localhost",
     4444, "*iexplore", "http://journal.mycom.co.jp/");
  //ブラウザを起動
  selenium.Start();
  verificationErrors = new StringBuilder();
}
[TearDown]
public void TeardownTest()
{
  //ブラウザを停止
  try
  {
    selenium.Stop();
  }
  catch (Exception)
  {
    // Ignore errors if unable to close the browser
  }
  Assert.AreEqual("", verificationErrors.ToString());
}
[Test]
public void タイトルと文言のテスト()
{
  //テストするページを開く
  selenium.Open("/enterprise/index.html");
  //タイトルのテスト
  Assert.AreEqual("エンタープライズ | マイコミジャーナル", selenium.GetTitle());
  //文言が存在するかをテスト
  Assert.IsTrue(selenium.IsTextPresent("アクセスランキング(エンタープライズ)"));
}
  }
}
以上でテストコードは完成です。コードの内容を簡単に見ておきましょう。
SetupTestメソッドではテストの準備を行っています。DefaultSeleniumクラスのコンストラクタを使って環境を設定します。コンストラクタの引数は「サーバ, ポート, ブラウザの種類, ベースURL」を指定します。ここではブラウザにIEを使用するため「*iexplore」を設定し、ベースURLには「http://journal.mycom.co.jp/」を設定しています。
[Test]属性がついているメソッドはWebテストの本体です。NUnitのAssertを使ってタイトルと文字列有無をチェックしています。
前編はここまでにするとして、後編はテストを実際に実行してみます。