【问题标题】:WatiN test using IE.GetCookie failing only from CruiseControl使用 IE.GetCookie 的 WatiN 测试仅从 CruiseControl 失败
【发布时间】:2010-09-16 06:55:02
【问题描述】:

我今天在我们的应用程序中添加了一些简单的 WatiN 测试,以检查 cookie 值是否正确存储。

测试在团队中的所有机器上本地通过。然而,当 CruiseControl 在我们的构建服务器上运行测试时,这些新测试在包含

的行上失败

browser.GetCookie(url, cookieName)

CruiseControl 日志中给出的错误是旧栗子:

Object reference not set to an instance of an object.

我已经使用远程桌面登录到构建服务器,使用运行 CruiseControl 的同一用户帐户,并手动运行 MbUnit,测试通过。所以构建服务器访问cookies的权限不会有问题。

我查看了所有的 WatiN 文档以寻求帮助,但结果都是空的。我已经重新启动了 CruiseControl 服务。我已经尝试了所有我能想到的方法,但现在我完全不知道 Cruise Control 运行这些测试的方式有什么不同。

有人知道是什么原因造成的和/或如何解决吗?

【问题讨论】:

    标签: c# cookies watin cruisecontrol mbunit


    【解决方案1】:

    尝试将 CruiseControl 作为应用程序而不是作为服务运行。当从服务运行时,WatiN 往往会挂起(因为 Windows 服务未附加到 UI 会话,并且 WatiN 需要一个用于处理 IE 中的对话框)。

    但除此之外......请记住,IE cookie 存储在您的用户配置文件中。服务运行时不会加载配置文件——它们是在后台安静运行的守护进程,实际上并不在登录会话的上下文中运行。我怀疑这是你的异常的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      相关资源
      最近更新 更多