Automation 无人值守处理-应用程序自动化

Automation 无人值守处理-应用程序自动化,automation,autoit,unattended-processing,Automation,Autoit,Unattended Processing,我正在寻找自动化应用程序的信息[我对推断“最佳实践”犹豫不决]。我特别指的是用由用户安排并“自动”执行的东西来取代通过传统的手动方式(人类操纵GUI)可以预期重复的东西 我们在内部使用AutoIT来执行自动化测试,并考虑了相同的方法来提供无人值守的应用程序处理,但我们不愿意,因为用户可能“意外”与应用程序交互,同时执行计划的“自动化”,因此“中断”自动化 在我们自己的调度器中构建已知事件和固定参数来控制预定义的操作集时,我应该评估/考虑哪些方法,需要哪些工具 其他信息: 有些人会将此功能称为应用

我正在寻找自动化应用程序的信息[我对推断“最佳实践”犹豫不决]。我特别指的是用由用户安排并“自动”执行的东西来取代通过传统的手动方式(人类操纵GUI)可以预期重复的东西

我们在内部使用AutoIT来执行自动化测试,并考虑了相同的方法来提供无人值守的应用程序处理,但我们不愿意,因为用户可能“意外”与应用程序交互,同时执行计划的“自动化”,因此“中断”自动化

在我们自己的调度器中构建已知事件和固定参数来控制预定义的操作集时,我应该评估/考虑哪些方法,需要哪些工具

其他信息:
有些人会将此功能称为应用程序上下文中的“批处理”。

如果我理解正确,您希望使用某种工具执行自动化处理,该工具将在给定软件系统中执行预定义的操作列表。这与自动化测试不同


我敦促您避免使用用于测试的工具来执行处理。许多主要软件系统都有公共API,您可以使用这些API执行操作,而无需直接与用户交互。这是安排自动化流程的一种更加稳健和可靠的方法。请与您使用的软件的供应商联系,有时可根据要求提供API。

通常,自动化UI是一种危险的做法。对于一个短期问题来说,这可能是一个有用的技巧:我发现自己在某些情况下使用自动热键来运行一些繁琐的任务。。。但只有当任务不值得编写代码来实现更改时(即,一次15分钟的任务)

否则,由于某些屏幕响应滞后、UI不一致等原因,您可能会遇到运行不一致的问题。大多数应用程序都有可用的API,在99%的情况下,不使用API要比获取和使用API痛苦得多

在不幸但可能出现的情况下,没有用户界面,您只能进行屏幕抓取/操作,执行自动测试的工具可能与您将获得的一样好。它允许您验证应用程序的状态(在某种程度上),因此可以在中构建一些安全网。此外,我将专门为这项任务配备一台工作站。。。键盘和鼠标被锁定,远离好奇的用户。(远程桌面或VNC风格的连接可以很好地实现这一点:您可以启动进程并断开连接,使其能够抵抗篡改。)


然而,我认为这种做法只是一种绝望的最后手段。操作API是非常非常非常可持续的(我有足够的“fars”吗?)。

Godeke和Dave绝对正确,如果可用,API是最好的途径。然而,实际上这有时是不可能的,您必须走GUI自动化路线。除了前面提到的运行自动化的专用工作站之外,我建议在一些审计跟踪中进行编码,以便在出现问题时更容易调试或回溯。批处理自动化应该保留一个详细的日志,记录处理了哪些记录、何时处理以及如何处理。您应该对其进行设置,以便记录本身(在本机应用程序中)能够反映它是通过自动化进行更新/处理的。例如,如果每个记录都有一个可更新的notes/comments字段,则自动化应向该字段添加文本,如“Processing by automation user,2009-02-25 10:05:11 AM,Account字段从'ABC123'更改为'DEF456'”,这样,用户在GUI中手动拉起记录时,自动化mods将很容易被用户看到