1

我正在使用以下命令从命令行运行 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)中工作得很好。

谢谢。

4

1 回答 1

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 格式中的保留字符 :(

于 2011-11-22T03:43:51.053 回答