我正在尝试使用XCode 7的UITesting来对类似于Mac OS X上的Dropbox、1Password等Menubar应用进行自动化UI测试。最新版本的XCode 7是否支持此功能?我知道UI Testing适用于iOS应用程序,但是视频演示没有展示它是否适用于OS应用程序。如果它适用于OS X应用程序,那么它是否适用于Menubar应用程序?请帮我解决这个问题。
我正在尝试使用XCode 7的UITesting来对类似于Mac OS X上的Dropbox、1Password等Menubar应用进行自动化UI测试。最新版本的XCode 7是否支持此功能?我知道UI Testing适用于iOS应用程序,但是视频演示没有展示它是否适用于OS应用程序。如果它适用于OS X应用程序,那么它是否适用于Menubar应用程序?请帮我解决这个问题。
func applicationDidFinishLaunching(_ aNotification: Notification) {
NSApp.setActivationPolicy(NSApplicationActivationPolicy.accessory)
}
最大的好处是它在运行时和UI测试中都可以使用,无需进行修改。您无需根据应用程序是否在UI测试中运行来激活或停用激活策略。
它只需要正常运行即可。
我知道这个问题很老,但我想分享我的答案。
我创建了一个 Info.plist 文件的副本,并将其中的 LSUIElement
设置为 NO
。然后,我创建了一个新的“UITesting”配置,并将其 INFOPLIST_FILE
构建设置指向该副本。更好的选择是创建一个用户定义的构建设置,然后将该设置的值分配给 LSUIElement
,但 Xcode 不允许使用布尔值。
一旦你设置好了 UITesting 配置,就可以编辑方案,在测试期间使用此配置。
Info.plists
上启用“应用程序是代理(UIElement)”选项,则XCUIApplication().launch()
将停止工作。有什么想法吗? - Gaston