【问题标题】:WatiN through TFS on Windows 2008 Server在 Windows 2008 Server 上通过 TFS 观察
【发布时间】:2010-12-13 02:12:17
【问题描述】:

我正在尝试通过在 TFS 上持续构建来运行 WatiN 测试,但我无法让它工作。我得到的错误如下:

WatiN.Core.Exceptions.IENotFoundException : Could not find an IE window matching constraint: Timeout while waiting to attach to newly created instance of IE.. Search expired after '30' seconds.
     at WatiN.Core.IE.CreateIEPartiallyInitializedInNewProcess()
     at WatiN.Core.IE.CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, Boolean createInNewProcess)
     at WatiN.Core.IE..ctor(String url, Boolean createInNewProcess)

我听说这可能是导致

  • “本地主机”的请求将得到解决 默认到 ::1 的 IPv6 地址 而不是 IPv4 地址 127.0.0.1 和 WatiN 测试将失败。

情况并非如此,因为我正在针对不在本地计算机上的公共 URL 进行测试。

  • IE 增强安全配置已开启

我已将其关闭,但没有任何结果。

  • 缺少文件 Microsoft.mshtml.dll、Interop.shdocvw.dll 或 Watin.Core.dll

检查并仔细检查!我在运行测试的输出目录中有这些。

最后也是最后的测试是以运行构建并执行 NUnit 测试套件的用户身份登录并手动运行测试。

C:\Users\TFSSERVICE>"C:\Program Files\Nunit 2.5.2\bin\net-2.0\nunit-console.exe"
 /nologo C:\Users\BUILDSERVICE\AppData\Local\Temp\\Continuous\Binaries\Release
\\WebTests.dll

你猜怎么着!它以 tfs 构建用户的身份手动执行它们。那么,我在这里缺少什么?有什么想法为什么当我运行 msbuild 引擎时它总是超时?

欢迎任何想法! 迈克尔

【问题讨论】:

    标签: c# .net tfs windows-server-2008 watin


    【解决方案1】:

    根据错误判断,它正在寻找 Internet Explorer 窗口。如果构建过程正在由服务运行,它将无法找到。

    编辑:之前我说过我不知道如何解决这个问题。
    虽然我不知道,但this page 可以。查找标题为“自动化 UI 测试”的部分。这应该也适用于 WatiN。

    【讨论】:

    • 你是我今天的英雄!谢谢!这正是我的问题,解决方案比我想象的要容易。向你致敬!
    • 如果有任何帮助,我发布了一个关于允许构建服务与桌面交互的建议,当我找到我链接到的文章时,我正在寻找服务的名称。我完全幸运。我之前也曾寻找过一种从 TFS 构建服务运行 UI 单元测试的方法,所以我很高兴找到了它。
    【解决方案2】:

    我在调试Watin后找到了这个问题的原因。
    原因是漏掉了dll:Microsoft.mshtml.dll。

    Windows Server 2008 板上没有此文件,因此会引发此类错误。

    解决方案:
    - 从 Windows 7 获取 Microsoft.mshtml.dll;
    - 复制到应用程序根目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-12
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 2019-03-02
      • 1970-01-01
      相关资源
      最近更新 更多