gpt4 book ai didi

cruisecontrol.net - 使用 Nant 和 CruiseControl 运行 Watin 测试时出现间歇性 IE 超时和 COMExceptions

转载 作者:行者123 更新时间:2023-12-04 07:41:45 24 4
gpt4 key购买 nike

我们已经使用 Watin 和 CruiseControl.net 几个星期了,大多数时候它们一起工作得很好。我们在开发人员机器上运行测试没有遇到任何问题。当登录到 CI 服务器时,我们还能够以交互方式运行测试而不会出现问题。

大多数情况下,在 CruiseControl 下执行测试时也没有问题,但情况并非总是如此,因为我们最近看到间歇性错误。错误似乎随机出现和消失,但当确实发生错误时,它总是以下之一:

  1. WatiN.Core.Exceptions.TimeoutException:Internet Explorer 繁忙时超时

  2. System.Runtime.InteropServices.COMException:由于以下错误,从 IClassFactory 创建 CLSID 为 {0002DF01-0000-0000-C000-000000000046} 的 COM 组件实例失败:800704a6

我们的 CI 服务器环境是:

  • window 服务器 2008 R2

  • IIS 7.5

  • IE 8

  • Watin 2.0

  • 巡航控制 1.6.7981.1。这是作为一项服务运行的,它以我们域中的用户身份登录,因为测试需要访问域中的资源。

“随机”失败的测试创建它们的 IE 实例如下:

    [TestMethod]
public void SomeTest()
{
using (var browser = new IE())
{
// run tests here
}
}

我也试过在一个新的过程中创建 IE,如下所示:

    [TestMethod]
public void SomeTest()
{
using (var browser = new IE( true))
{
// run tests here
}
}

但是当我这样做时,所有 我们的测试都失败了,出现“WatiN.Core.Exceptions.BrowserNotFoundException:找不到 IE 窗口匹配约束:WAITING附加到新创建的实例时超时” IE .. 搜索在“30”秒后过期”

所以,我有两个问题:

  1. 谁能告诉我如何停止超时和 com 异常?
  2. 谁能解释为什么 IE(true) 根本不起作用?

TIA,迈克

最佳答案

请参阅 Carl Hörberg 的回答:
Running Watin on TeamCity

CruiseControl.Net 和 TeamCity 在作为服务运行时遇到同样的问题,解决方法应该适用于这两种环境。

默认情况下,ccservice 作为本地系统运行,无权与桌面 UI 交互,并且本地系统帐户权限受到限制,这很可能是导致 TimeoutException、COMException 和 BrowserNotFoundException 被抛出的原因。

关于cruisecontrol.net - 使用 Nant 和 CruiseControl 运行 Watin 测试时出现间歇性 IE 超时和 COMExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8388292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com