你怎么华廷与IE8在Windows Server 2008上运行?(How do you get W

2019-06-23 14:44发布

我的问题是,我不能让一个简单的测试华廷可靠这是运行Windows Server 2008和IE8我的机器上工作。

我见过一对夫妇在这个好职位,但我仍然有问题。 下面是帖子:

  • MSDN测试文章
  • 堆栈溢出-华廷第二种方法失败

在第一篇文章中的步骤似乎帮助(注释掉“:: 1”在我的hosts文件,把我的网站()在受信任的站点,并确保我的app.config有“STA”,并设置为“副本,如果新的”,但他们并没有可靠的帮助。我试图从第二个例子,希望这将有助于代码,但事实并非如此。我使用华廷2.0 Beta 1的。

我的NUnit的代码如下所示:

protected Browser Browser { get; set; }

[TestFixtureSetUp]
public void SetupPriorToTestsInThisFixture()
{
    Browser = new IE();
    Browser.GoTo(Constants.SiteCollectionUrl);
}

[TestFixtureTearDown]
public void TearDownAfterTestsInThisFixture()
{
    if (Browser != null)
    {
        Browser.Dispose();
    }
}

[Test]
public void WaterThroughThePipes()
{
    Link link = Browser.Link(Find.ByText("Calendar"));
    bool exists = link.Exists;
    Assert.That(exists, Is.True, "Could not find 'Calendar' link.");
}

我所看到的是,有时(虽然很少)我测试通过。 有时断言失败(存在= FALSE),有时我得到一个超时试图打开浏览器的时候,有时我得到试图访问link.Exists错误。

访问link.Exists错误是这样的:

MyFixture.WaterThroughThePipes信息:System.Runtime.InteropServices.COMException:该接口是未知的。 (从HRESULT异常:0x800706B5)

我似乎无法重现超时错误,所以我现在不能提供,在目前(虽然这曾经发生的所有的时间)。

我倾向于在调试模式下运行时,这与在调试模式下运行,以看到不同的结果。

对于它的价值,火狐3.0.6从来没有为我工作。 我是喜欢,但需要IE浏览器,无论工作。 下面是我用Firefox得到的错误。

MyFixture(TestFixtureSetUp):WatiN.Core.Native.Mozilla.FireFoxException:无法连接到服务器jssh,请确保你已经正确安装了jssh.xpi插件----> System.Net.Sockets.SocketException:无法连接作出,因为目标机器积极地拒绝它127.0.0.1:9997

有任何想法吗? 我真的不想回去硒(被那里,这样做),但我可能不得不这样做。

Answer 1:

运行Visual Studio为管理员



Answer 2:

我能得到这个COM错误走开 - 并得到我的测试中正常运行 - 通过调整我的Internet安全设置为“启用保护模式”即使是本地Intranet站点。 这种单一的复选框使所有的差异。 (我没有运行Visual Studio的管理员。)

看到这个博客帖子为不运行Visual Studio为管理员解决这个问题。

简述:

在Internet Explorer中打开工具 - > Internet选项 - >安全 - >本地Intranet,并勾选“启用保护模式”。

我在Windows 7上运行的IE 8和Visual Studio 2010。



Answer 3:

IE8 definatley与华廷工程,由于IE8的首次公开发行已经完成。

如果事情是工作在调试,但不运行时,它通常指向一个定时或Server 2008的安全锁定问题。

你应该把那是在尝试捕捉失败行,这时如果有是说半个秒,然后重新再试异常停顿。

另外,还要确保您已关闭了所有多余的服务器安全lockdowns,和正在运行NUnit的管理员,以避免UAC的方式获得。



Answer 4:

关于你在Firefox上所看到的错误......这可以通过安装来克服FireWatir FF插件 。 (或者至少是为我工作的3.5.3)

但是,如前所述,IE浏览器的支持,以华廷方面,使用的是Firefox没有神奇的解决方案。



Answer 5:

另一种方法,以避免在运行Visual Studio或NUnit的,因为管理是在机器的水平,如果您正在使用最小权限运行(你应该是),它不应该是一个安全问题,禁用UAC。



文章来源: How do you get WatiN to work on Windows Server 2008 with IE8?