c# - 在 Windows 2008 Server 上通过 TFS 进行 WatiN

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

我正在尝试通过 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)

我读到这可能是导致

  • 对“localhost”的请求将得到解决 默认为::1 的 IPv6 地址 而不是 IPv4 地址 127.0.0.1 并且 WatiN 测试将失败。

事实并非如此,因为我正在针对不在本地计算机上的公共(public) 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 引擎时它总是超时吗?

欢迎任何想法! 米凯尔

最佳答案

从错误来看,它正在寻找 Intenet Explorer 窗口。如果构建过程正在由服务运行,它将无法找到。

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

关于c# - 在 Windows 2008 Server 上通过 TFS 进行 WatiN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1674888/

相关文章:

.net - System.String - 为什么不实现无参数构造函数?

c# - (object[,])range.get_Value(XL.XlRangeValueDataType.xlRangeValueDefault) 导致转换错误

c# - 撤消挂起的更改

tfs - 查询包含特定类型附件的工作项

c# - 简化和设计 linq 查询

c# - 动态构建包含 Where 过滤器

c# - 我无法在 2tier 中使用 set get 属性检索值

.net - 打印枚举时的 ToString 异常

visual-studio-2008 - 从源代码管理中排除嵌套项

c# - 如何获得具有 out 参数的方法?