我正在寻找自动化应用程序的信息[我毫不犹豫地推断出“最佳实践”]。我特别指的是通过传统的手动方式[人类操纵GUI]来替换那些可预测的可重复的东西,这些东西由用户安排并执行“自动”。
我们在内部使用AutoIT执行自动化测试,并考虑使用相同的方法为我们的应用程序提供无人值守处理,但由于用户“意外”并行地与Application 进行交互,我们不愿意这样做< / em>执行预定的“自动化”,从而“打破”自动化。
害羞在我们自己的调度程序中构建具有已知事件和固定参数来控制预定义的一组操作,我应该评估/考虑哪些方法以及需要哪些工具?
其他信息: 有些人会将此功能称为应用程序上下文中的“批处理”。
答案 0 :(得分:2)
一般来说,自动化UI是一种危险的做法。对于短期问题,它可能是一个有用的黑客:我发现自己使用AutoHotKey在某些情况下运行一些繁琐的任务......但只有当任务不值得编写代码来实现更改时(即,一次, 15分钟的任务)。
否则,由于某些屏幕的响应延迟,UI不一致等原因,您可能会遇到运行不一致的问题。大多数应用程序都有可用的API,而不使用它会比在99中获取和使用它更加痛苦。百分比。
在不幸的但可能的情况下,没有用户界面,你被简化为屏幕抓取/操作,执行自动化测试的工具可能就像你将获得的一样好。它允许你验证应用程序的状态(在某种程度上),从而可以建立一些安全网。此外,我会专门用一个工作站来完成这个任务...键盘和鼠标锁定远离好奇的用户。 (远程桌面或VNC样式连接适用于此:您可以启动进程并断开连接,使其能够抵御篡改。)
但是,我认为这种做法只是绝望的最后手段。操纵API是远远的,远远的(我在那里获得了足够多的“战争”)更具可持续性。
答案 1 :(得分:0)
如果我理解正确,您希望使用某种工具执行自动处理,该工具将在给定的软件系统中执行预定义的操作列表。这与自动测试不同。
我建议您避免使用用于测试的工具来执行处理。许多主要的软件系统都有公共API,您可以使用这些API在没有直接用户交互的情这是一种更加健壮和可靠的自动化流程安排方式。请联系您正在使用的软件的供应商,有时可根据要求提供API。
答案 2 :(得分:0)
Godeke和Dave绝对正确,如果可行的话,API是最佳途径。但是,实际上这有时是不可能的,您必须使用GUI自动化路线。除了前面提到的运行自动化的专用工作站之外,我建议在一些审计跟踪中进行编码,以便在出现问题时更容易调试或回溯。批处理自动化应该详细记录处理的记录,处理时间以及处理方式。您应该进行设置,以便记录本身(在本机应用程序中)将反映它是通过自动化更新/处理的。例如,如果每条记录都有可更新的备注/注释字段,则自动化应向该字段添加文本,如“自动化用户处理,2009-02-25 10:05:11 AM,帐户字段从'ABC123'更改为' DEF456'“那样,用户手动提取GUI中的记录就很容易看出自动模块。