Тест за автоматизация на Mac, iOS от терминал с помощта на instruments.app

Изпълнявам тест на 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).

Благодаря.


person user435657    schedule 16.11.2011    source източник


Отговори (1)


Има няколко неща, които инструментите харесват по-малко от интервалите в пътеките. Ако НАИМАТЕ интервали в някой от пътя си, избягайте от тях. Използването на кавички не работи надеждно. Въпреки че инструментите могат да стартират, след това той се задушава в интервалите по-късно в процеса на стартиране.

Дайте на инструментите абсолютен път към 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 :(

person quellish    schedule 22.11.2011
comment
Винаги съм внимателен с интервалите и абсолютният път все още не помага. Опитвали ли сте го някога? Изпълнен ли е скриптът във вашия случай? - person user435657; 22.11.2011
comment
Да, горното е работещ производствен код. Виждате ли някакви грешки, когато стартирате инструменти в подробен режим от командния ред? - person quellish; 05.12.2011
comment
вместо този хак; цитирайте разширението си правилно. $(намерете $PWD -name ta.js) (също така, защо хвърлихте -exec echo {} \;?) - person lhunath; 24.11.2012