我们对具有ajax模型弹出窗口的页面进行了Watin测试。测试试图打开窗口,隐藏它然后重新显示它。
当我从Visual Studio或本地构建脚本运行它时,测试运行正常。在构建服务器上运行时,测试失败。
构建服务器是作为Windows服务运行的Cruise Control.Net(以域帐户登录)。我们的构建脚本是用NAnt编写的,我们使用this post中描述的方法运行Watin测试。
使用jquery实现模态ajax弹出窗口。
我们正在使用:
以下是失败测试的片段。
_ieBrowser.Button("btnToggle").Click();
_ieBrowser.WaitForComplete();
Assert.IsTrue(_ieBrowser.Button("btnReshow").Exists);
_ieBrowser.Button("btnReshow").Click();
_ieBrowser.WaitForComplete();
_ieBrowser.TextField("editBody").WaitUntilExists();
Assert.IsTrue(_ieBrowser.TextField("editBody").Text.Contains(thisIsCustomer));
_ieBrowser.Button("btnDone").Click();
_ieBrowser.WaitForComplete();
这一行:
_ieBrowser.TextField("editBody").WaitUntilExists();
超时。
答案 0 :(得分:4)
默认情况下,Windows服务无法与桌面交互。
如果您进入服务的属性,然后查看“登录”选项卡,您将看到服务帐户的2个选项:本地系统帐户或其他指定帐户。
如果选择“本地系统”帐户,则会启用“允许服务与桌面交互”复选框。
如果启用该选项,然后重新启动服务,它应该允许服务打开和关闭窗口。
答案 1 :(得分:0)
问题是Windows服务无法拥有Windows。这就是你的测试失败的原因。