XCode Test Automation для IPhone
Я хочу, чтобы приложение для проверки iphone автоматически тестировалось в IPhone. Ниже перечислены шаги, которые я хотел бы иметь:
- компиляция, ссылка и код подписывают приложение iphone (Xcodebuild)
- загрузить новое приложение в iphone
- автоматически запустите загруженное приложение в iphone.
- собрать результат с консоли gdb
- закрыть приложение
Прямо сейчас у меня проблема с шагами 2 и 3, где я не могу сделать это автоматически (я могу сделать это с XCode через кнопку "Сборка и отладка". Это, однако, потребует ручного нажатия).
Я изучил автомат и не ответил на мою проблему. Еще один вариант, о котором я думаю, - это приложение, скомпилированное для симулятора iphone и запускающее его оттуда, но я не уверен, насколько точным будет результат теста по сравнению с реальным устройством.
Я новичок в разработке Mac/IPhone, возможно, у кого-то есть лучший способ проверить это. Любая обратная связь и ввод приветствуются. Спасибо.
Ответы
Ответ 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, не открывая ее. Есть флаги, которые вы можете использовать для установки целей и т.д.
Ответ 6
Dr Nic тестирование с Ruby может помочь с некоторыми из этих
Ответ 7
Не могли бы вы добавить фазу сборки к цели, которая запускает script для загрузки двоичного файла в iphone?
Щелкните правой кнопкой мыши цель, Add- > New Build Phase- > New Run script Фаза сборки
Ответ 8
xcodebuild будет просто строить двоичный файл, и он не будет загружать вновь скомпилированный двоичный файл в iphone.
на самом деле он может загружаться (после его подписания), но не слишком сильно работает...
возможно, его можно запустить с помощью gdb, когда-то подключенного к цели, но как (ip?, usb? usbnet?)?