2012-01-04 36 views
4

我想要做快速入門的例子,我在VS2010中使用NuGet引用了參考文獻,我在網頁上刮取了示例代碼,我看到了NUnit會話窗口,我點擊了綠色箭頭,但是瀏覽器不會被調用(不會啓動)。我錯過了什麼?Watin入門

using System; 
using NUnit.Framework; 
using WatiN.Core; 

namespace FirstWatinProject 
{ 
    [TestFixture] 
    public class Class1 
    { 

     [Test] 
     [STAThread] 
     public void SearchForWatiNOnGoogle() 
     { 
      using (var browser = new IE("http://www.google.com")) 
      { 
       browser.TextField(Find.ByName("q")).TypeText("WatiN"); 
       browser.Button(Find.ByName("btnK")).Click(); 
       Assert.IsTrue(browser.ContainsText("WatiN")); 
      } 
     } 

    } 
} 

我在NUnit會話窗口中收到以下錯誤;

SearchForWaitOnGoogle失敗的信息:System.IO.FileNotFoundException:可能 無法加載文件或程序集Interop.SHDocVw,版本= 1.1.0.0, 文化=中性等等

回答

4

好了,解決了錯誤,正如下面其他溢出線程的結論; WatiN System.IO.FileNotFoundException Interop.SHDocVw

但是,序列中的一個關鍵動作是在將Interop.SHDocVw dlls的'Embed Interop Types'屬性設置爲'False'之後構建類庫項目。

然後您可以點擊NUNIT會話窗口中的綠色箭頭,您將在一兩秒後看到IE瀏覽器啓動。只需點擊它,你就會看到你編程的任何動作。

神在細節!

+0

不要忘記接受你的答案:P – Boaz 2012-01-06 22:45:49

1

將Interop.SHDocVw,Microsoft.mshtml dlls的'Embed Interop Types'屬性設置爲'False';

當然Visual Studio會給你警告如何修改。

爲Interop.SHDocVw.dll, 的可用性使用金塊軟件包管理器

0

檢查的確保您的項目有Interop.SHDocVw.dll參考和DLL是存在於斌/釋放取決於你如何運行文件夾。

0

只需從主菜單中選擇Build ...然後選擇配置管理器。在列表中選擇你的項目,並將其Plateform'任何CPU'等更改爲x86。

如果您只有CPU選項,您可以在選擇平臺時使用...選項,並創建用於X86平臺的新設置,然後選擇它。

裁判: Change target to x86 in VS2010

+0

不,當然,如果你正在創建新的設置,它只是複製設置。對我沒有任何影響。 – bendecko 2014-03-01 08:03:17

+0

是的,這沒有做什麼。 – WiredEarp 2016-04-22 01:56:35

0

我已經到Interop.SHDocVw參考。對我來說最簡單的修復方法是在Visual Studio設置中將.NET從4.5更改爲3.5。進行更改後,它運行良好。