2009-06-02 10 views
4

テスト:InteropServices.COMException WatiNを実行している

MyTestClassName.MyTestMethodName: System.Runtime.InteropServices.COMException:COMのインスタンスを作成しますコンポーネントがIClassFactoryからのCLSID {0002DF01-0000-0000-C000-000000000046}が次のエラーのために失敗しました:80004005.

私はTeamCityで同じ結果を得るか、またはサーバーで手動で実行します。管理者はNUnit GUI(2.5)を使用します。

これは、いくつかのサンプルコードです:それができるものを

[TestFixture] 
public class MyTestClassName 
{ 
    private string pageUrl; 

    [TestFixtureSetUp] 
    public void TestFixtureSetUp() 
    { 
     pageUrl = ConfigurationManager.AppSettings["SiteURL"] + "/Pages/MyPage.aspx"; 

     Settings.MakeNewIeInstanceVisible = false; 
    } 

    [Test] 
    public void MyTestMethodName() 
    { 
     using (var ie = new IE(pageUrl)) 
     { 
      ie.SelectList(new Regex(@"^*DropDownList1*$")).Option("TheOption").Select(); 

      ie.SelectList(new Regex(@"^*DropDownList2*$")).Option("AnOption").Select(); 

      ie.SelectList(new Regex(@"^*DropDownList3*$")).Option("OtherOption").Select(); 

     } 
    } 
} 

任意のアイデア?

/ヨアキム

答えて

0

私は、選択リストは、まだ完全にロードされて準備ができていない、これはこの質問に記載したのと同じ問題の別の症状であることを考える:

Access denied error (Visual Studio and WatiN)

+0

を説明したように「IEで保護モードを有効にする」ことです。 –

5

私も会います同じ問題ですが、私にとってもっと奇妙です。

私は「UIテスト」とWatiNテストの多くのアプリケーションで問題なくサーバーを実行できます。

このエラーは、

私Finnalyは今朝解決策を見つけた... 1つのアプリケーションのためだけにCruiseControl(ナント付き)ではなく、NUnitGUIとテストをruningていない場合に発生する:私はnew IE(true)にすべての私のコールnew IE();を置き換えますWatiN release noteこれ以上エラーは発生しませんでした。

6

管理者としてVisual Studioを実行してみてください。

2

IE.QuitがWatiNによって呼び出されるたびに、IEは応答を停止してから回復を試みます。管理者として実行すると、私の問題が解決しました。

Try running Visual Studio as Administrator

それは(少なくともWindows 7の)管理者として実行する必要がありNUnitのは、実際にですが、考え方は正しいです:

2

Another comment氏は述べています。すべての私たちのWatiNテストは同じ例外で失敗 -

3

別の修正は残念ながらそうではないhere

関連する問題