Watin入门

时间:2012-01-04 14:29:31

标签: watin

我正在尝试快速启动示例,我在VS2010中使用NuGet引入了ref,我在网页上搜索示例代码,我看到我的NUnit会话窗口,我点击绿色箭头,但是浏览器没有被调用(不启动)。我错过了什么?

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 Sessions窗口中收到以下错误;

  

SearchForWaitOnGoogle失败:System.IO.FileNotFoundException:可以   不加载文件或程序集'Interop.SHDocVw,版本= 1.1.0.0,   文化=中立等...

5 个答案:

答案 0 :(得分:4)

好的,解决了错误,就像下面的其他溢出线程一样; WatiN System.IO.FileNotFoundException Interop.SHDocVw

但是,序列中的关键操作是在将Interop.SHDocVw dll''嵌入互操作类型'属性设置为'False'之后构建类库项目;

然后你可以点击NUNIT Sessions窗口中的绿色箭头,你会看到IE浏览器在一两秒后启动。只需单击它,您就会看到已编程的任何操作。

上帝在细节中!

答案 1 :(得分:1)

将Interop.SHDocVw,Microsoft.mshtml dlls''Embed Interop Types'属性设置为'False';

当然Visual Studio会给你关于如何修改的警告。

使用Nugget Package Manager

答案 2 :(得分:0)

检查Interop.SHDocVw.dll的可用性, 确保您的项目引用Interop.SHDocVw.dll,并且bin / Release文件夹中存在dll,具体取决于您的运行方式..

答案 3 :(得分:0)

只需从主菜单中选择Build ...然后选择Configuration Manager。在列表中选择您的项目并将其Plateform'Any CPU'等更改为x86。

如果你只有Only CPU选项,你可以在选择平台时使用...选项并创建新设置,即X86平台然后选择它。

REF: Change target to x86 in VS2010

答案 4 :(得分:0)

我已经提到了Interop.SHDocVw。对我来说最简单的解决方法就是在Visual Studio设置中将.NET从4.5更改为3.5。在做出改变之后,它运作良好。