【问题标题】:Applescript to click on a specific application in the Mac Status BarApplescript 单击 Mac 状态栏中的特定应用程序
【发布时间】:2014-12-09 12:54:28
【问题描述】:

我有一个作为状态栏应用程序运行的 OS X 应用程序。我正在尝试进行测试自动化。有没有办法使用 Apple Script 单击状态栏应用程序?

下面给出的脚本仅适用于本机应用程序。

tell application "System Events" to tell process "SystemUIServer" to click menu bar item 1 of menu bar 1

我正在寻找自定义应用程序上的类似功能。

【问题讨论】:

  • 状态栏应用是什么意思?它是一个带有进度指示器的窗口吗?您的意思是仅作为菜单图标吗?如果是这样,除非应用程序有字典,否则您无法通过 applescript 访问它。
  • 状态栏应用是指 Google Drive 之类的应用。喜欢此链接中给出的应用程序 - makeuseof.com/tag/pimp-macs-menu-bar-best-tweaks-apps
  • 好的,仅供参考,这些被称为“菜单栏附加功能”。您不能可靠地通过脚本访问它们。顺序可以改变。有些可以在某些情况下隐藏。
  • 如果您想找到解决方案(如果有的话),请举一个具体的例子(比如您最有兴趣使用哪些应用程序)。

标签: macos testing automation applescript automated-tests


【解决方案1】:

并非所有菜单栏附加功能(或状态图标)都可以通过 UI 脚本访问。您必须尝试是否可以通过唯一描述或其他值来调用它们。 试试这样的代码,看看你能不能弄明白:

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "clock")
        click
        click menu item "Open Date & Time Preferences…" of menu 1
    end tell
end tell

如果在那里找不到,可以尝试菜单栏 2 的状态项。

【讨论】:

  • 如果我正在开发一个应用程序,我需要做些什么来启用 UI 脚本吗?我正在尝试对我的应用进行自动化测试。
  • 是的,请确保您的 Menu Bar Extra 位于菜单栏 1 中,并填写角色描述、标题、名称和描述等内容。
  • 并且,在您的应用发行版中包含一个示例脚本。这是最有帮助的。
猜你喜欢
  • 2019-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-13
  • 2011-01-07
  • 1970-01-01
相关资源
最近更新 更多