【问题标题】:GUI automation of program with changing menu options具有更改菜单选项的程序 GUI 自动化
【发布时间】:2017-11-03 08:15:49
【问题描述】:

我希望在 Windows 2008 上自动化软件。自动化软件不必与 Windows 2008 兼容(我可以使用远程桌面)。 GUI 有两个主要区域,左侧是嵌入图像列表,右侧是显示窗格。显示窗格显示所有嵌入图像在屏幕上的位置(该程序用于构建人机界面 [HMI])。

我需要单击左侧列表中的每个嵌入图像并从中提取一些数据。 问题是;根据选择的主显示文件,嵌入图像列表将具有不同的名称和不同的长度。

因此,自动任务会根据打开的主显示图像文件而变化。是否有可以为此定制的自动化程序?我可以为每个主要显示文件编写单独的脚本,但这违背了自动化的目的。我查看了 Sikuli、AutoIt、pywinauto 等,但没有找到我想要完成的示例。

【问题讨论】:

  • 到目前为止,问题看起来太宽泛了。你到底尝试了什么?也许是 Spy++ 或 Inspect.exe?这些程序是否可以看到图像名称? Spy++ 可以替换为 AutoItWindowInfo 工具,它是 Spy++ 的克隆。但是 Inspect.exe 通常可以显示更多的数据,因为 UI 自动化比 Win32 API 更强大。 AFAIK AutoIt 和 AutoHotKey 不支持 UI 自动化。 Pywinauto 可以。
  • 在本地机器上运行脚本通常是不可能的,因为远程桌面不透明地提供 GUI 元素信息。因此,例如,您必须将脚本复制到目标远程计算机并通过 psexec 运行它。或者使用 Jenkins 代理作为非服务 + VNC 服务器而不是远程桌面。但这是与特定自动化工具/库无关的单独问题。
  • Inspect.exe 可以在这里找到:github.com/blackrosezy/gui-inspect-tool

标签: automation ui-automation


【解决方案1】:

AutoHotkey 可以轻松完成您的要求。

您可以使用一些基本的 OOP 原则来编写一个程序,该程序具有不同的点击位置等,具体取决于您正在运行的显示文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2012-06-29
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    相关资源
    最近更新 更多