Dar*_*arc 28 instruments ios xcode-instruments ios-ui-automation xcode4.3
我目前正在通过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
Run Code Online (Sandbox Code Playgroud)
即使身份验证失败,自动化插件也会执行,但这需要我的脚本让物理保姆输入凭据,这在很多方面都会破坏这些命令行运行的目的.是否可以将用户详细信息添加为参数?或者是否有其他方法可以跳过此提示而无需按键人员?
- 编辑 -
当您尝试首次从GUI运行UIAutomation测试时,会出现此授权对话框.

- 编辑 -
在GUI中应答授权对话框后,提示将停止显示在命令行上.然而,这种解决办法似乎不是一个"答案".
Ale*_*der 18
好吧,我想我已经开始工作了.
以下是有关如何删除xcode命令行授权提示的更多详细信息
我做的是以下内容:
将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>
Run Code Online (Sandbox Code Playgroud)现在我可以使用jenkins通过命令行脚本运行我的UIAutomation-Tests
R. *_*ers 12
这是一个可能适合您的精彩命令:
security unlock-keychain -p [password] "${HOME}/Library/Keychains/login.keychain"
Run Code Online (Sandbox Code Playgroud)
这是获取访问Mac上的钥匙串的命令行方式.我还没有使用自动化测试它,但这是我将我的iOS构建与Jenkins集成的方式.
(用密码替换[密码])
Jea*_*nne 10
除了Alexander的答案之外,我发现对于Mavericks来说,由于处理授权的方式(来源),你应该这样做:
sudo security authorizationdb write system.privilege.taskport allow
我正在通过VMWare VM中的Jenkins作业运行zucchini功能测试,并且奴隶无法正确启动模拟器并且会挂起在启动屏幕上,可能是因为授权不正确.这有助于我解决这个问题,希望它能帮助别人.
您的脚本运行的用户必须被授权使用开发人员工具.你可以这两种方式:
将用户添加到_developer组:
sudo dscl . append /Groups/_developer GroupMembership scriptusername
使用DevToolsSecurity命令行工具
请记住,为了使UIAutomation仪器正常工作,您调用Instruments的用户还需要是一个可以启动窗口服务器的用户(即运行UI) - 并且必须登录到窗口服务器当UIAutomation运行时.
这两件事是与Jenkins一起使用UIAutomation的四个或五个秘密中的两个.
| 归档时间: |
|
| 查看次数: |
18587 次 |
| 最近记录: |