2011-06-23 4 views
3

機能テストの自動化を開始したい点まで成長したMVC3 Webアプリケーションがあります。だから私は単体テストと同じプロジェクトにコード化UIテストを追加しようとしていました。欲求不満だけ。Windows Azure SDK v1.4に対してコード化されたUIテストを実行する方法

私は簡単な一連のステップを記録できました。アプリケーションにログインします。

コードを生成できました。生成されたコードは、UIMap.Designer.csという名前のファイルで確認できます。このクラスのインスタンスがインスタンス化され、テストメソッドがLoginTest.csという名前のファイルで呼び出されます。私がしようとすると

私は最初に次のようなエラーになっていた、LoginTest.csに[のtestMethod]を右クリックして、テストの実行を選択します。だから、

Unable to load the test container 'C:...\WebRole.Tests.dll' or one of its dependencies. Error details: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

を、私はローカルコピーから、次の参照をひっくり返し= falseをtrueに:

  • Microsoft.VisualStudio.TestTools.UITesting
  • Microsoft.VisualStudio.TestTools.UITest.Extension
  • Microsoft.Visua私は、テストを実行するとlStudio.QualityTools.CodedUITestFramework

は今、私は次のような出力が得られます。

Testing started:

Total tests: 1, filtered: 1

No tests found.

Duration : 94.9989452249951

ブラウザインスタンスが起動されていません。 Azure ComputeもAzure Storageエミュレータも起動しません。アプリケーションはパッケージ化されずにデプロイされません。要するに、私がアプリケーションを実行するときに起こることは起こりそうにない。ですから、私は、Azureエミュレータ環境が動作していないので、UIテストがどのように動作するかについて困惑しています。

これを回避するために、VS2010の2つのインスタンスを開こうとしました。最初はAzureエミュレータを実行し、アプリケーションをデプロイするために通常どおりアプリケーションを実行しました。 2番目は、CodedUITestメソッドを実行しました。同じ結果。

今、私は立ち往生しています。誰かがAzure SDK v1.4で提供されているAzureエミュレータに対してコード化UIテストを実行できますか?

答えて

-1

あなたが経験している痛みは、Azureに関連するだけでなく、IMHO全体としてコード化されたUIテストに関係しています。 MVC(とasp.net)には痛みを和らげるツールがいくつかあります(コード化されたUIスイートは必要ありません)。

あなたはSpecFlowWatiNを試しましたか? MVCContribライブラリの一部として構築されているNugetのパッケージもあります。

あなたがUIをテストするのに役立つことを願っています。以下のようないくつかの手順については、

チェックアウトchannel9:this video

0

は、これはおそらく、OPの道手遅れですが、同様の問題(つまり、時間のカップルの前に私だった)と他の誰かを助けるかもしれません。

警告:私はCodedUIの完全な初心者ですので、これはの右の方法ではない可能性があります。しかし少なくとも私はそれを始めました。

私は似たような状況があります。Azure 1.4、ASP.NET MVC(私の場合は2)Webアプリケーションです。デスクトップ開発環境(VS2010 Premium)で実行できる一連のUIテストを開始したいと考えています。

ここに私が始めたステップがあります: 1. CodedUIテストのビットを記録してください。あなたがこれを行うことができることを証明するために何かを実行してください。 (私はこの最初のいくつかのステップをたどった:http://msdn.microsoft.com/en-us/library/dd286608.aspx)。

録音を開始する前にブラウザを開いて、Webアプリケーションを開始するために必要な作業をすべて記録します。あなたのURIはもちろん、

[TestInitialize] 
    public void LaunchBroswer() 
    { 
     BrowserWindow browser = BrowserWindow.Launch(new System.Uri("https://127.0.0.2/Logon")); 
    } 

ことがあります。[TestInitialize]属性とメソッドを追加し、あなたのコード化されたUIテストクラスでは :

  1. は、ブラウザを起動するためのテストに初期化コードを追加します。 、変化する。これは私が他のいくつかの記事から推測しなければならない魔法のビットでした。折りたたまれたコード領域にTestInitializeを置くことは役に立たなかった。

    1. は、Azureのエミュレータ起動し、テストを実行するには:Ctrlキー+ F5(ブラウザでウェブアプリを起動しますが、テストを実行していない

    2. あなたは今からテストを実行することができますエミュレータを起動したVSの同じインスタンス。

関連する問題