3

我们使用 Watir 和 AutoIT 在 Windows 上使用 IE 测试我们的 Web 应用程序。AutoIT 用于 Watir 在处理本机 Windows 对话框(如用于上传的 Windows 文件对话框)方面的不足之处。

由于 AutoIT,我们无法使用任务调度程序运行测试,因为来自 Watir 代码的 AutoIT 操作需要交互式桌面会话。

我们尝试了一些技巧(来自 RDP 的 RDP 等),但没有成功,也无法实现真正​​的自动化。

有任何想法吗?如果 AutoIT 可以帮助我们实现真正的端到端测试自动化,则愿意取代它。

4

3 回答 3

2

当我们从作为服务运行的 TeamCity 代理开始运行测试时,我们遇到了类似的问题。这是因为您正在尝试从非交互式服务运行交互式进程。我们切换到让我们的 TeamCity 代理像正常进程一样运行,问题就消失了。

您可能希望查看构建管理服务器来处理运行它,而不是仅使用任务计划程序,但无论哪种方式,您都希望避免将测试过程作为服务运行。

于 2010-10-15T21:09:41.177 回答
1

您需要使用以用户权限运行的调度程序。我以前使用 CruiseControl.Net 来执行此操作。

如果您的进程没有用户权限,它将无法访问桌面窗口,无论您使用的是 Watir、AutoIT 还是其他工具,这都是您所需要的。这是权限问题,不是工具问题。

于 2010-10-05T21:32:59.577 回答
-1

我会替换Watir。;)

我不太确定 Watir,但我相信它只是InternetExplorer.ApplicationCOM 对象的包装器,您可以直接从 AutoIt 轻松使用它的所有功能,通过ObjCreate("InternetExplorer.Application")或通过部分列出的用户定义函数IE Management

我相信您只能在 AutoIt 中编写所有测试场景的脚本。为什么需要交互式桌面会话?

于 2010-10-05T18:48:47.637 回答