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