いくつかの機能テストの自動化を開始したいところまで成長した MVC3 Web アプリケーションがあります。そのため、単体テストを配置した同じプロジェクトにコード化された UI テストを追加しようとしました。欲求不満以外の何物でもありません。
簡単な一連のステップ、つまりアプリケーションへのログインを記録することができました。
コードを生成できました。生成されたコードは、UIMap.Designer.cs という名前のファイルで確認できます。このクラスのインスタンスがインスタンス化され、LoginTest.cs という名前のファイルでテスト メソッドが呼び出されます。
LoginTest.cs の [TestMethod] を右クリックして [テストの実行] を選択しようとすると、最初は次のエラーが発生しました。
テスト コンテナー 'C:...\WebRole.Tests.dll' またはその依存関係の 1 つを読み込めません。エラーの詳細: System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
そこで、次の参照を Copy Local = false から true に切り替えました。
- Microsoft.VisualStudio.TestTools.UITesting
- Microsoft.VisualStudio.TestTools.UITest.Extension
- Microsoft.VisualStudio.QualityTools.CodedUITestFramework
ここで、テストを実行すると、次の出力が得られます。
テスト開始:
合計テスト数: 1、フィルター済み: 1
テストが見つかりません。
期間 : 94.9989452249951
ブラウザー インスタンスが開始されていません。Azure Compute も Azure Storage エミュレーターも開始されていません。アプリケーションはパッケージ化およびデプロイされません。要するに、アプリケーションを実行したときに起こることは何も起こらないようです。そのため、Azure エミュレーター環境が実行されていないため、UI テストがどのように実行されるのかについて、私は困惑しています。
これを回避するために、VS2010 の 2 つのインスタンスを開こうとしました。最初に、通常どおりアプリケーションを実行して、Azure エミュレーターを実行し、アプリケーションをデプロイしました。2 番目に、CodedUITest メソッドを実行しました。同じ結果です。
今、私は立ち往生しています。Azure SDK v1.4 で提供される Azure エミュレーターに対してコード化された UI テストを実行できる人はいますか?