Запустите существующее приложение Cocoa с помощью скрипта Python
Я пытаюсь научиться использовать python и pyObjC для автоматизации тестирования приложений для нашей базы кода Cocoa -Objective C.
Я нашел множество примеров того, как воссоздать целевое приложение C с использованием pyObjC, однако это включает в себя буквальное переписывание приложения на python с использованием целевых фреймворков и классов C. Я не могу найти никаких примеров выполнения приложений или компонентов Какао с python или pyObjC.
У меня есть пользовательские рамки. Он содержит WindowController, который является точкой входа для редактора. Когда я инициализирую это в приложении какао и нажимаю кнопку, она появляется, и я могу взаимодействовать с ней.
Следуя приведенному здесь примеру, примеру pyObjC, я могу успешно инициализировать свой оконный контроллер и заставить его появиться, однако я не могу взаимодействовать ни с одним элементом управления, включая кнопку закрытия окна.
Мой фрагмент:
#!/usr/bin/env python
# Opens the Window
import time
from Foundation import *
bundle = NSBundle.bundleWithPath_('/Library/Frameworks/MyFramework.framework')
controller = bundle.classNamed_('MyController').alloc().initWithWindowNibName_('MyWindow')
controller.showWindow_(0)
# Hold the window open for a bit
time.sleep(20.0)
Я также попытался добавить:
from AppKit import *
NSApplicationLoad()
True
думаю, что это может помочь, но нет. Я уверен, что отсутствует тот факт, что настоящее приложение Какао никогда не выполняется, но я не могу найти решение.
Моя цель здесь не состоит в том, чтобы переписать Objective C, используя python. Это поможет нашим специалистам по QA автоматизировать некоторые межприкладные тесты.
Любое руководство приветствуется.