我正在使用以下命令从命令行运行iOS UIAutomation测试:
instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/ctester/Library/Developer/Xcode/DerivedData/TestView-acwgjlejvnjkqietyevgfnsjngpd/Build/Products/Debug-iphonesimulator/TestView.app -e UIASCRIPT ta.js -e UIARESULTSPATH .
TestView.app
已成功在模拟器中启动,但脚本无法运行。
我尝试指定一个不存在的脚本,没有报告错误。所以我认为参数-e UIASCRIPT ta.js ...
被忽略了。
我的笔记本电脑上的instruments
命令版本是:
instruments, version 1.0
usage: instruments [-t template] [-D document] [-l timeLimit] [-i #] [-w device] [[-p pid] | [application [-e variable value] [argument ...]]]
重要吗?
TestView.app
和ta.js
在instruments.app(GUI)中运行良好。
感谢。
答案 0 :(得分:0)
很少有东西比道路上的空间更少。如果你的任何一条路径都有空位,那就逃避吧。使用引号不能可靠地工作。虽然仪器可能会启动,但它会在启动过程的后期窒息。
给乐器一个ta.js的绝对路径,然后逃避它。 例如:
find ${PWD} -name ta.js -exec echo {} \; | sed 's/ /\\ /g'
sed位逃脱了你找到的ta.js的路径。
您可以尝试:
instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/ctester/Library/Developer/Xcode/DerivedData/TestView-acwgjlejvnjkqietyevgfnsjngpd/Build/Products/Debug-iphonesimulator/TestView.app -e UIASCRIPT ``find ${PWD} -name ta.js -exec echo {} \; | sed 's/ /\\ /g'`` -e UIARESULTSPATH .
但是用单背蜱代替双后蜱。 `是SO格式的保留字符:(