使用python脚本执行现有的Cocoa应用程序

时间:2014-09-23 20:23:37

标签: python objective-c cocoa pyobjc

我试图学习如何使用python和pyObjC自动化我们的Cocoa -Objective C代码库的应用程序测试。

我已经找到了大量关于如何使用pyObjC重新创建目标C app的示例,但是,这涉及使用目标C框架和类在python中重新编写应用程序。我找不到任何使用python或pyObjC执行Cocoa应用程序或组件的示例。

我有一个自定义框架。它包含一个WindowController,它是编辑器的入口点。当我在cocoa应用程序中初始化它并单击一个按钮时,它就会出现,我可以与它进行交互。

按照此处的示例pyObjC example,我可以成功初始化我的窗口控制器并使其显示,但是,我无法与任何控件进行交互,包括关闭窗口按钮。

我的片段:

#!/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

想想也许会有所帮助但不会。我确定缺少的部分是实际的Cocoa应用程序永远不会被执行,但我似乎无法找到解决方案。

我的目标不是使用python重写Objective C ..它可以帮助我们的QA人员自动化一些应用程序间测试。

任何指导赞赏。

0 个答案:

没有答案