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