Подтвердить что ты не робот

XCode Test Automation для IPhone

Я хочу, чтобы приложение для проверки iphone автоматически тестировалось в IPhone. Ниже перечислены шаги, которые я хотел бы иметь:

  • компиляция, ссылка и код подписывают приложение iphone (Xcodebuild)
  • загрузить новое приложение в iphone
  • автоматически запустите загруженное приложение в iphone.
  • собрать результат с консоли gdb
  • закрыть приложение

Прямо сейчас у меня проблема с шагами 2 и 3, где я не могу сделать это автоматически (я могу сделать это с XCode через кнопку "Сборка и отладка". Это, однако, потребует ручного нажатия).

Я изучил автомат и не ответил на мою проблему. Еще один вариант, о котором я думаю, - это приложение, скомпилированное для симулятора iphone и запускающее его оттуда, но я не уверен, насколько точным будет результат теста по сравнению с реальным устройством.

Я новичок в разработке Mac/IPhone, возможно, у кого-то есть лучший способ проверить это. Любая обратная связь и ввод приветствуются. Спасибо.

4b9b3361

Ответ 1

Инструмент, который вы, вероятно, захотите использовать для сборки и установки, - это Applescript. Что-то вроде:

tell application "Xcode" to launch

Я не притворяюсь, что это полный ответ; есть еще много всего, что нужно сделать. Но Applescript будет одним из ваших ключевых инструментов, которые я считаю.

Ответ 2

Раздел комментариев не обеспечивает хороший способ отображения решения должным образом. Вот краткое изложение ответа.

Задача создания приложения IPhone, загрузки и запуска процесса отладки на IPhone осуществляется через AppleScript. Вот как выглядит AppleScript:

tell application "Xcode"
    open "Users:chuan:Desktop:iphone_manual_client:iphone_manual_client.xcodeproj"
    tell project "iphone_manual_client"
        clean
        build
        (* for some reasons, debug will hang even the debug process has completed. 
           The try block is created to suppress the AppleEvent timeout error 
         *)
        try
            debug
        end try
    end tell
    quit
end tell

AppleScript принимает ":" вместо "/" для разделителя файлов и папок.

Выход консоли GDB можно записать, установив параметр GDB для записи в файл. это делается путем ввода следующей команды в Terminal:

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES 
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <path to my gdb output file>

Наконец, большое спасибо различным сотрудникам, которые помогли решить эту проблему.

Ответ 3

Проверьте UISpec http://code.google.com/p/uispec/

Это полная тестовая среда автоматизации, разработанная для iphone.

Ответ 4

Отъезд iphone_testify, он хорошо работает с OCUnit и Google Toolbox для Mac, и я думаю, что можно было бы продлить его на что-то вроде UISpec.

С уважением

Ответ 5

Там есть инструмент командной строки "xcodebuild", который вы можете вызвать, чтобы запустить сборку XCode, не открывая ее. Есть флаги, которые вы можете использовать для установки целей и т.д.

Ответ 7

Не могли бы вы добавить фазу сборки к цели, которая запускает script для загрузки двоичного файла в iphone?

Щелкните правой кнопкой мыши цель, Add- > New Build Phase- > New Run script Фаза сборки

Ответ 8

xcodebuild будет просто строить двоичный файл, и он не будет загружать вновь скомпилированный двоичный файл в iphone.

на самом деле он может загружаться (после его подписания), но не слишком сильно работает... возможно, его можно запустить с помощью gdb, когда-то подключенного к цели, но как (ip?, usb? usbnet?)?