2010-12-16 10 views
5

私はWebアプリケーションとテストプロジェクトのソリューションを持っています。テストアプリケーションは、WebアプリケーションのUIテストをコード化しています。テストの実行時にWebアプリケーションを起動するにはどうすればよいですか?VS 2010でコード化されたUIテストを使用してWebアプリケーションを起動する

私はSystem.Diagnostics.Processを経由してWebサーバを起動するTestSetupメソッドを追加すること

  • を試してみました。私はこれが好きではないと思われ、コード化されたUIテストは実際に継承に実際には役に立たないので、
  • バッチファイルを介してWebサーバー(同じコマンドライン)を起動するためにtestsettingsにセットアップスクリプトを追加します。しかし、バッチファイルは決して終了せず、最終的にタイムアウトします。私はstartコマンドでWebサーバを起動しようとしましたが、うまくいきませんでした。コマンドラインから実行したときにうまく動作しますが、testsettings setupスクリプトではうまくいきません。

IISをバックグラウンドで実行して特定のフォルダを指していると考えました。次に、Webアプリケーションをそのフォルダにデプロイします。そして、テストプロジェクトをIISに対してテストさせます。

これは多くの作業のようです。より簡単な方法が必要です。私はいくつかの開発者のマシンで、またスケジュールされた、または継続的な統合を介してTFSビルドマシンでこれを実行したいと思います。

どのような考えですか?私は(プロジェクトのプロパティで)Webプロジェクトは、IIS上でホストされるように設定

おかげ

+0

また、テストコードからURLを取得する方法を知っておくといいでしょう。 – Sam

答えて

0

。そのわずか3〜4回のクリック。仮想アプリケーションの作成を促すメッセージが表示されます。その後、プロジェクトをビルドして実行すると、IIS上で永続的にホストされます。 Webサーバーを手動で起動することなく、コード化されたUIテストを開始することができます。

0

Gerardo Grignoliが提案したことを実行して、IISでサイトをホストして、常にオンにすることができます。

Webプロジェクト(テストをデバッグする場合はデバッグなし)を開始し、テストを実行/デバッグすることもできます。テストでは、単にBrowserWindow.Launch( "localhost:appPort/whateverPageToStartOn")を使用します。あなたのIISエクスプレス設定に基づいてappPortの代わりにポートを入力してください。

これはTFSビルドマシンで実行することに関してはおそらく疑わしいことです。テストラボからデプロイされたサイト(dev、test、prodなど)をテストできます。 Microsoft Test Manager(MTM)は、これを実行できる製品の1つです。

関連する問題