【问题标题】:Full and true automation with Watir and AutoIT [closed]使用 Watir 和 AutoIT 实现完全和真正的自动化 [关闭]
【发布时间】:2010-10-04 22:59:40
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: watir autoit


    【解决方案1】:

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

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

    【讨论】:

    • Thx - 将使用 CI 工具试一试,看看是否有帮助
    • 我完全同意。我试图在我的回复中说同样的话。
    【解决方案2】:

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

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

    【讨论】:

    • 用户权限不是问题,因为我们使用的服务帐户对盒子有完全的管理员权限。
    • 而且,我们已将其隔离到需要交互式桌面会话的 AutoIT 脚本
    • 该帐户可能具有完全的管理员访问权限,但如果它作为服务运行,则无法访问桌面。换句话说,这是进程的权限而不是用户的问题。
    【解决方案3】:

    我会替换 Watir。 ;)

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

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

    【讨论】:

    • 我想您可以阅读 Watir 的内容,了解它如何/为什么用于 Web 测试 :-) AutoIT 脚本在作为计划任务运行时会挂起某些操作,并且相同的脚本在以下情况下运行良好我们登录到机器上。
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 2011-03-05
    • 2012-12-02
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 2015-01-16
    相关资源
    最近更新 更多