Как я могу запустить инструменты из Python?
Кто-нибудь знает, как запустить инструменты из Python? Я устал использовать os.system, и это не сработало.
Если я запускаю инструменты из командной строки, мне нужно только запустить:
instruments -w id -t xxxxxxxxxxxxxx xx.js
Мне нужно будет запустить выше в Python. Я полагаю, что следующее будет работать
import os
os.system('instruments -w id -t xxxxx xx.js')
Я также пытался с os.system ('open -a instruments xxxxxx')
Ни один из способов не сработал. У кого-нибудь есть идея получше?
Я ожидал, что он будет запускать инструменты так же, как запускать его из командной строки. И начать запускать javascritps с помощью инструментов. Этого не случилось То, что случилось, было просто распечатано 256.
1 ответ
Трудно сказать по фрагменту кода, потому что вы, возможно, многое вырезали, чтобы быть кратким, но похоже, что вы неправильно вызываете команду для инструментов. Вот пример с ломаной линией:
instruments \
-D [trace document to write] \
-t [Automation Trace Template] \
[Your App Bundle] \
-e UIARESULTSPATH [where results should be written] \
-e UIASCRIPT [your actual script file
Для полного примера того, как запускать инструменты из командной строки, посмотрите мое демо-репо.
В нем есть сценарий оболочки, в котором рассказывается, как он работает для вызова инструментов из командной строки. Вы можете использовать это как основу для запуска из Python.
Кроме того, я включаю копию моего unix_instruments
скрипт-обертка Instruments не возвращает ненулевой код состояния, если сценарии автоматизации регистрируют сбои в журнале, поэтому этот скрипт-обертка следит за всем выводом журнала и возвращает ненулевой код состояния для вас. Как это все использовать в репо тоже.