还是由于手贱,升级到yosemite(OS X 10.10), 在安装Sikuli 的IDE工具的时候发现不能使用。我使用Sikuli的IDE工具主要是为了写自动化case。
case的最后一步需要判断播放器是可以播放流的,以前是测试人员使用手工测试的方式,人工判断流可以正常播放。为了方便我们使用编程的方式,我们在流里面加入了一个类似于台标的东西。通过Sikuli的API,去查找找个图标就可以判断,播放器不是黑屏,是可以正常播放流的(马赛克暂时不予考虑)。那么现在的问题是如何让Sikuli跑起来,首先是下载Sikuli-IDE的安装包Sikuli-X-1.0rc3 (r905)-osx-10.6.dmg, 虽然论坛里面也说过现在还不支持10.10。安装了之后发现压根不能启动,其实我也不是像用IDE工具,主要是想在jython调用Sikuli的API和截图。进入到安装目录/Applications/Sikuli-IDE.app/Contents/Resources/Java, 找到sikuli-script.jar的包,
使用命令:
java -jar sikuli-script.jar -i
启动,报错:
java.io.IOException: Unable to find library META-INF/lib/libVisionProxy.dylib on classpath at com.wapmx.nativeutils.jniloader.DefaultJniExtractor.extractResource(DefaultJniExtractor.java:127) at com.wapmx.nativeutils.jniloader.DefaultJniExtractor.extractJni(DefaultJniExtractor.java:110) at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:43) at org.sikuli.script.Finder.<clinit>(Finder.java:33) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at org.python.core.Py.loadAndInitClass(Py.java:895) at org.python.core.Py.findClassInternal(Py.java:830) at org.python.core.Py.findClassEx(Py.java:881) at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:133) at org.python.core.packagecache.PackageManager.findClass(PackageManager.java:28) at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:122) at org.python.core.PyJavaPackage.__findattr_ex__(PyJavaPackage.java:137) at org.python.core.PyObject.__findattr__(PyObject.java:863) at org.python.core.imp.import_name(imp.java:849) at org.python.core.imp.importName(imp.java:884) at org.python.core.ImportFunction.__call__(__builtin__.java:1220) at org.python.core.PyObject.__call__(PyObject.java:357) at org.python.core.__builtin__.__import__(__builtin__.java:1173) at org.python.core.imp.importFromAs(imp.java:978) at org.python.core.imp.importFrom(imp.java:954) at sikuli.Sikuli$py.f$0(/Applications/Sikuli-IDE.app/Contents/Resources/Java/sikuli-script.jar/Lib/sikuli/Sikuli.py:211) at sikuli.Sikuli$py.call_function(/Applications/Sikuli-IDE.app/Contents/Resources/Java/sikuli-script.jar/Lib/sikuli/Sikuli.py) at org.python.core.PyTableCode.call(PyTableCode.java:165) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.imp.createFromCode(imp.java:386) at org.python.core.util.importer.importer_load_module(importer.java:109) at org.python.modules.zipimport.zipimporter.zipimporter_load_module(zipimporter.java:161) at org.python.modules.zipimport.zipimporter$zipimporter_load_module_exposer.__call__(Unknown Source) at org.python.core.PyBuiltinMethodNarrow.__call__(PyBuiltinMethodNarrow.java:47) at org.python.core.imp.loadFromLoader(imp.java:513) at org.python.core.imp.find_module(imp.java:467) at org.python.core.PyModule.impAttr(PyModule.java:100) at org.python.core.imp.import_next(imp.java:715) at org.python.core.imp.import_name(imp.java:824) at org.python.core.imp.importName(imp.java:884) at org.python.core.ImportFunction.__call__(__builtin__.java:1220) at org.python.core.PyObject.__call__(PyObject.java:357) at org.python.core.__builtin__.__import__(__builtin__.java:1173) at org.python.core.imp.importAll(imp.java:998) at sikuli$py.f$0(/Applications/Sikuli-IDE.app/Contents/Resources/Java/sikuli-script.jar/Lib/sikuli/__init__.py:3) at sikuli$py.call_function(/Applications/Sikuli-IDE.app/Contents/Resources/Java/sikuli-script.jar/Lib/sikuli/__init__.py) at org.python.core.PyTableCode.call(PyTableCode.java:165) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.imp.createFromCode(imp.java:386) at org.python.core.util.importer.importer_load_module(importer.java:109) at org.python.modules.zipimport.zipimporter.zipimporter_load_module(zipimporter.java:161) at org.python.modules.zipimport.zipimporter$zipimporter_load_module_exposer.__call__(Unknown Source) at org.python.core.PyBuiltinMethodNarrow.__call__(PyBuiltinMethodNarrow.java:47) at org.python.core.imp.loadFromLoader(imp.java:513) at org.python.core.imp.find_module(imp.java:467) at org.python.core.imp.import_next(imp.java:713) at org.python.core.imp.import_name(imp.java:824) at org.python.core.imp.importName(imp.java:884) at org.python.core.ImportFunction.__call__(__builtin__.java:1220) at org.python.core.PyObject.__call__(PyObject.java:357) at org.python.core.__builtin__.__import__(__builtin__.java:1173) at org.python.core.imp.importAll(imp.java:998) at org.python.pycode._pyx0.f$0(<string>:1) at org.python.pycode._pyx0.call_function(<string>) at org.python.core.PyTableCode.call(PyTableCode.java:165) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.Py.runCode(Py.java:1261) at org.python.core.Py.exec(Py.java:1305) at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:206) at org.python.util.jython.run(jython.java:280) at org.python.util.jython.main(jython.java:129) at org.sikuli.script.SikuliScript.startInteractiveMode(SikuliScript.java:93) at org.sikuli.script.SikuliScript.main(SikuliScript.java:106) [info] Mac OS X utilities loaded. [info] VDictProxy loaded.
虽然报错,但是貌似是可以工作了, 执行一下截图:
img = capture()
结果立即报错, 退出。
Google了半天也没有什么结论,不过有人说试一下jdk1.6说不定可以。设置了一下环境变量:
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)
再启动一下:
java -jar sikuli-script.jar -i [info] Sikuli vision engine loaded. [info] Mac OS X utilities loaded. [info] VDictProxy loaded. >>> img = capture() >>>
竟然好了, 可以截图,也可以调用Sikuli的API了。
相关推荐
总之,"OS X 10.10 Yosemite VMware Image sn"是针对那些希望在非Mac硬件上体验或开发针对Mac平台的应用的用户的资源。正确使用这个镜像文件需要遵循上述步骤,并确保所有必要的软件许可证和硬件兼容性条件得到满足...
Yosemite在设计和性能上都进行了显著的改进,为用户带来了更佳的使用体验。以下是对OS X Yosemite系统使用效果的详细分析: 首先,从性能测试角度看,Yosemite在多个方面展现出了优于Mavericks的性能。使用2021年款...
这个修复包可能已经对这些兼容性问题进行了修复,使得老版本的Yosemite能够在现代硬件上运行得更加稳定。 4. **安装过程**:在解压"fix_yosemite_vm_graphic_performance.zip"后,用户需要运行里面的"Fix Yosemite ...
Versions 1.3.1 破解版,保证在OS X 10.10 yosemite 完美使用 破解方法: 3、用Finder转到应用程序,找到Versions,右键“显示包内容”,进入contents -> MacOS 目录,把下载的附件替换进去,OK了退出,重新打开...
OS X Yosemite 10.10 是苹果操作系统的一个重要版本,带来了许多实用的功能和改进,使得用户的使用体验更加高效和便捷。以下是一些主要的知识点: 1. **连续互通(Continuity)**:这一功能允许Mac和iPhone在同一个...
标题中的“VM虚拟机可以安装OS X Yosemite 10.10 DP1”指的是使用虚拟机软件,如VMware,可以在非苹果硬件上安装并运行苹果的操作系统OS X Yosemite的Developer Preview 1版本。这个技术对于开发者或者对新系统感...
yosemite10.10在 win下原版制作详细教程
【描述详解】:描述中的“黑苹果下的驱动精灵MultiBeast - Yosemite Edition 3”,表明这款软件主要服务于那些在非苹果硬件上安装了 macOS Yosemite 系统的用户。黑苹果是指在非苹果品牌电脑上运行苹果操作系统的...
总的来说,OS X 10.10 Yosemite 内置壁纸代表了苹果在操作系统界面设计上的一次重要迭代,它将自然风光与科技完美融合,创造出一种和谐的视觉体验。无论你是苹果的忠实粉丝还是寻求桌面美化的人,这些壁纸都是一个...
Yosemite的屏幕共享功能体现了苹果在用户体验和技术上的投入。尽管这是一个看似简单的小功能,但背后涉及到网络传输、图像压缩、权限控制等复杂技术,使得屏幕共享既流畅又安全。 10. **其他实用功能**: ...
综上所述,这个压缩文件“summer2winter_yosemite.rar”可能是一个关于优胜美地国家公园季节变化的大数据项目。内容可能包括大量的环境监测数据,如气候、生态指标,通过数据挖掘技术进行分析,形成了一种可视化的...
Chameleon是著名的第三方启动加载器,它允许用户在非Apple主板上安装和启动OS X,这在破解或装机社区中非常常见。Chameleon会解析系统配置,加载适当的内核和内核扩展,使得系统能够在非标准硬件上正常启动。 ...
本篇文章将详细介绍如何利用HP的order_number激活Yosemite,以便用户能够顺利地在自己的系统上安装和使用这款软件。 首先,如果你的设备已经随机附带了Yosemite备份软件,你将找到一张带有promo code的宣传单。你...
总的来说,MultiBeast 7.5.0版是黑苹果用户不可或缺的驱动管理工具,它的存在使得在非苹果硬件上运行Yosemite成为可能。通过合理的驱动配置,黑苹果用户不仅可以享受到Mac OS X的优雅界面和强大功能,还能在非原装...
本人亲测,可以在MacOS Yosemite上面安装 xcode/idea 都可以使用
1. **Mac与iPhone集成**:Yosemite允许用户在连接同一WiFi网络的Mac上接收和发送iPhone的短信、彩信和iMessage,甚至可以直接在Mac上接听电话。这一特性是通过FaceTime和iMessage的深度整合实现的。 2. **电子签名*...
summer2winter_yosemite数据集,方便下载整理。 附下载链接:https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/datasets/
它不仅改变了Windows的基本外观,包括桌面背景、图标、窗口边框等,还模拟了Mac的动态效果,如透明度、过渡动画等,力求在Windows平台上重现Yosemite的精致细节。这一过程并不复杂,只需运行压缩包内的Yosemite ...
解压并安装这个文件后,用户就可以在他们的Yosemite系统上启动和使用Versions来管理他们的Subversion仓库。 使用Versions 1.3.1,用户可以享受以下主要功能: 1. **版本追踪**:跟踪文件和目录的历史变更,查看每个...