使用命令行进行UIAutomation不起作用

时间:2014-12-18 10:41:22

标签: ios ui-automation xcode-instruments

这是我在终端中执行的代码:

instruments -w 'afb79e6f07256ff94c8d5a11e4db6c26950e2b2d' \
    -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \
    'TestAutomation.app' \
    -e UIASCRIPT '/Users/roykronenfeld/Desktop/Automation.js' \
    -e UIARESULTSPATH '/Users/roykronenfeld/Desktop/' 

我得到的错误:

Instruments Usage Error : Specified target process is invalid:
/var/mobile/Applications/51EA888D-9D16-4F7B-919F-68F9C56F0585/TestAutomation.app

这显然表明应用程序的路径不正确。但是,如果我使用以下代码从Xcode中提取该应用程序路径,我不确定该怎么回事:

NSString *Directory = [[NSBundle mainBundle] resourcePath];

有什么想法吗?

p.s:该应用已安装在设备上。

2 个答案:

答案 0 :(得分:2)

以下是它的工作方式:

instruments -w 'fa10dec83c62a571a9691b5d9ef24cc68de73bf0' \
    -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \
     TestAutomation \
    -e UIASCRIPT '/Users/roykronenfeld/Desktop/Automation.js' \
    -e UIARESULTSPATH '/Users/roykronenfeld/Desktop‘ 

注意应用程序名称最后没有'和.app,因为在设备上通过命令行进行自动化时,您需要提供的只是应用程序名称。

答案 1 :(得分:0)

您也可以使用“捆绑标识符”