由于Apple已经集成了一个完整的UI自动化工具,比如Applescript (古老的,yes...ugly的,是的,但是找不到更好的),所以我想知道是否可以在Python测试类中运行Applescript脚本。
我确实找到了一个被抛弃的项目,它正在集成AS和Python,但我希望使用一些稳定和可靠的东西;最重要的是,易于实现。
我确实看过pyObjC,这是相当痛苦的(我对Objective基本一无所知),所以我尝试的最后一种方法是使用AS,但我无法获得行动的结果,除非我使用类似于Python的东西。除非有更简单的方法,我不知道
发布于 2016-09-03 02:07:53
py-applescript 提供了一个易于使用的包装器,用于将PyObjC和 NSAppleScript 作为处理程序调用,并自动将参数和结果转换为等价的参数和结果。(严格地说,我也不再支持py-appscript -就像py-appscript一样,我不再愿意在糟糕的时候浪费时间--但py-applescript代码非常简单,任何Python用户都可以在必要时自己解决或改进它。)
NSAppleScript
或者,您可以通过使用PyObjC和AppleScriptObjC来避免额外的模块依赖,尽管它确实需要对两个ObjC桥进行一些基本的理解。
在Python中实现Apple自动化的唯一选择是通过PyObjC使用OS糟糕的脚本桥框架,但是由于SB本身充斥着大量无法理解的bug、缺陷和遗漏,所以这是您最不希望注入测试脚本的东西。
..。
OTOH,如果您只进行图形用户界面测试,那么通过系统Events.app通过AppleScript调用OS的低级别可访问性API可以说是过火了,而且您可能想看看现有的Python自动化库,这些库只是直接包装OS的可访问性API。例如 这是一个有用的列表 ,虽然我不能保证它的准确性或完整性,也不能保证它链接到的库的质量。
https://stackoverflow.com/questions/39282231