Как я могу запустить инструменты из 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 не возвращает ненулевой код состояния, если сценарии автоматизации регистрируют сбои в журнале, поэтому этот скрипт-обертка следит за всем выводом журнала и возвращает ненулевой код состояния для вас. Как это все использовать в репо тоже.

Другие вопросы по тегам