現在、bash スクリプト経由で Instruments を使用して、コマンドライン インターフェイスを開始し、Automation プラグインの実行を開始しています。
4.2 では、これは十分に機能していましたが、Xcode 4.3 にアップグレードすると、承認されたユーザーに「他のプロセスを分析する」ように要求されるようになりました。正しい資格情報が付与されていても、実際にはユーザーは認証されません。次のエラーが表示されます。
Failed to authorize rights (0x20) with status: -60007.
2012-02-27 19:30:37.232 instruments[54151:1c03] Failed to connect to local pid watcher service: (os/kern) failure
認証に失敗しても、Automation プラグインは実行されますが、そのためにはスクリプトで実際のベビーシッターに資格情報を入力してもらう必要があり、多くの点でこれらのコマンド ライン実行の目的が達成されません。ユーザーの詳細を引数として追加することは可能ですか? または、キーを操作させることなくこのプロンプトをスキップする他の方法はありますか?
- 編集 -
この認証ダイアログは、GUI から初めて UIAutomation テストを実行しようとしたときに表示されます。
提出したレーダー rdar://10945962。
- 編集 -
GUI で認証ダイアログに回答すると、コマンド ラインにプロンプトが表示されなくなります。ただし、この種の回避策は「回答」としては有効ではないようです。
ベストアンサー1
はい、うまくいったと思います。
削除方法についての詳細は以下をご覧くださいxcode コマンドライン認証プロンプト
私がやったことは以下の通りです:
- Jenkins ユーザーを管理者としてマークします (残念ながら、現時点では他に方法はないようです)
- へ移動/etc/認証
- キーを検索システム特権タスクポート
allow-rootの値をtrueに変更します
<key>system.privilege.taskport</key> <dict> <key>allow-root</key> <false/> // change to -> <true> <key>class</key> <string>user</string> <key>comment</key> <string>Used by task_for_pid(...). ... </dict>
今では、コマンドラインスクリプト経由でJenkinsを使用してUIAutomationテストを実行できるようになりました。