« [Small Basic] テキストボックスとボタン | トップページ | [VS2010] パッケージ販売開始! Pro.版を安く買うには? そして、β2は今月末で期限切れ »

2010年6月13日 (日)

[わんくま勉強会フォロー] Coded UI Test で対象アプリを自動起動する方法

昨日のわんくま勉強会名古屋で、 VS2010 の 「コード化された UI テスト」 を紹介しました。 実際に WinForm アプリに対する操作をレコーダーで記録して、 再生とコントロールの検証をするところをご覧に入れました。 しかしそのままでは、 いちいち先に手動でアプリを起動してやる必要があります。

このとき自動生成されたテストコード (の、 一番上層部) は、 こんなふうでした。
[TestMethod]
public void CodedUITestMethod1()
{
    // このテストのコードを生成するには、ショートカット メニューの [コード化された UI テストのコードの生成] をクリックし、メニュー項目の 1 つをクリックします。
    this.UIMap.RecordedMethod1();
    this.UIMap.AssertMethod1();
}

その次 (スライド (PDF) では 11枚目) に、 「テスト開始時に、最新ビルドの画面を自動的に表示させるには、工夫が必要」 とだけ喋って、 時間の都合でコードをお見せすることはできませんでした。

たとえばこんなふうにして、 テストコードの中でプロセスを起動/終了してやります。
[TestMethod]
public void CodedUITestMethod1()
{
    System.Diagnostics.Process p = System.Diagnostics.Process.Start(@"{プロジェクトのパス}\bin\Debug\WinForm1.exe");
    p.WaitForInputIdle(); //入力可能状態になるまで待機

    this.UIMap.RecordedMethod1();
    this.UIMap.AssertMethod1();

    p.CloseMainWindow(); //メイン Window を閉じて、 アプリ終了
}

※ そのほか、 UI スレッドを起こして、 そこで直接 Form を開いてもいけるとは思いますが、 試していません。

|

« [Small Basic] テキストボックスとボタン | トップページ | [VS2010] パッケージ販売開始! Pro.版を安く買うには? そして、β2は今月末で期限切れ »

プログラミング」カテゴリの記事

-プログラミング ( わんくま )」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/209349/48618976

この記事へのトラックバック一覧です: [わんくま勉強会フォロー] Coded UI Test で対象アプリを自動起動する方法:

« [Small Basic] テキストボックスとボタン | トップページ | [VS2010] パッケージ販売開始! Pro.版を安く買うには? そして、β2は今月末で期限切れ »