7

Mac OS X で Dropbox、1Password などのメニューバー アプリに XCode 7 UITesting を使用しようとしています。Xcode 7 が提供する最新機能を使用して UI テストを自動化することは可能ですか? UI テストが iOS アプリで機能することは理解していますが、デモが OS アプリで機能するかどうかをビデオで示すことはありません。OS X アプリでは機能しますが、メニューバー アプリでも機能しますか? この問題を教えてください。

4

2 に答える 2

2

この回答に動機付けられた、この問題に対するより良い解決策を見つけました: https://stackoverflow.com/a/5384319/96737

Info.plist から Dock 機能を削除する代わりに、アプリケーションの「アクティベーション ポリシー」をプログラムで「アクセサリ」として設定することをお勧めします。

Xcode 8.1 経由の swift3:

func applicationDidFinishLaunching(_ aNotification: Notification) {
    NSApp.setActivationPolicy(NSApplicationActivationPolicy.accessory)
}

最大の利点は、ランタイムと UI テストで変更なしで機能することです。UI テスト内でアプリケーションを実行しているかどうかに応じて、アクティブ化ポリシーをアクティブ化または非アクティブ化する必要はありません。

それだけで機能します。

于 2016-12-06T18:35:56.603 に答える