2009-07-31 24 views
0

我寫了一小段WatiN代碼(見下文)。它在Dev中很有用。太棒了。當我將它部署到生產服務器時,它會打開IE,然後失敗並出現IENotFoundException。Watin IENotFoundException

.NET 3.5 Server 2008的IE 7.0.6

我在哪裏,我準備下載源代碼並調試了點,但我不知道多遠我會得到因爲我還沒有在開發機器上重現問題。

private void WatiNTest() 
    { 
     **IE ie = new IE("the site", true);** 
     ie.WaitUntilContainsText("some text"); 
     if (ie.TextFields.Any(x => x.Id == "nickname_or_email")) 
     { 
      ie.TextField("nickname_or_email").TypeText("my login"); 
      ie.TextField("password").TypeText("my password"); 
      ie.CheckBox("remember_me").Checked = false; 
      ie.Button(Find.ByName("commit")).Click(); 
     } 
     ie.Dispose(); 
    } 

回答

1

通過將true更改爲false並在同一進程中運行,我可以得到更詳細的錯誤。 System.IO.FileNotFoundException。我在服務器上缺少文件Microsoft.mshtml,版本7.0.3300.0。

您可以通過將Microsoft.mshtml.dll複製到部署的應用程序目錄來修復它。

所以,如果你無法弄清楚你的錯誤是什麼,請確保你把東西放在同一個線程中,這樣你才能得到錯誤;)