`
david_je
  • 浏览: 373112 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在Yosemite上如何使用Sikuli

 
阅读更多

      还是由于手贱,升级到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

    总之,"OS X 10.10 Yosemite VMware Image sn"是针对那些希望在非Mac硬件上体验或开发针对Mac平台的应用的用户的资源。正确使用这个镜像文件需要遵循上述步骤,并确保所有必要的软件许可证和硬件兼容性条件得到满足...

    os x yosemite系统的使用效果怎么样?.docx

    Yosemite在设计和性能上都进行了显著的改进,为用户带来了更佳的使用体验。以下是对OS X Yosemite系统使用效果的详细分析: 首先,从性能测试角度看,Yosemite在多个方面展现出了优于Mavericks的性能。使用2021年款...

    fix_yosemite_vm_graphic_performance.zip

    这个修复包可能已经对这些兼容性问题进行了修复,使得老版本的Yosemite能够在现代硬件上运行得更加稳定。 4. **安装过程**:在解压"fix_yosemite_vm_graphic_performance.zip"后,用户需要运行里面的"Fix Yosemite ...

    Versions 1.3.1破解,10.10 yosemite完美使用

    Versions 1.3.1 破解版,保证在OS X 10.10 yosemite 完美使用 破解方法: 3、用Finder转到应用程序,找到Versions,右键“显示包内容”,进入contents -&gt; MacOS 目录,把下载的附件替换进去,OK了退出,重新打开...

    os x yosemite10.10使用技巧大全.docx

    OS X Yosemite 10.10 是苹果操作系统的一个重要版本,带来了许多实用的功能和改进,使得用户的使用体验更加高效和便捷。以下是一些主要的知识点: 1. **连续互通(Continuity)**:这一功能允许Mac和iPhone在同一个...

    VM虚拟机可以安装OS X Yosemite 10.10 DP1

    标题中的“VM虚拟机可以安装OS X Yosemite 10.10 DP1”指的是使用虚拟机软件,如VMware,可以在非苹果硬件上安装并运行苹果的操作系统OS X Yosemite的Developer Preview 1版本。这个技术对于开发者或者对新系统感...

    yosemite10.10在 win下原版制作详细教程

    yosemite10.10在 win下原版制作详细教程

    v驱动精灵MultiBeast - Yosemite Edition 3

    【描述详解】:描述中的“黑苹果下的驱动精灵MultiBeast - Yosemite Edition 3”,表明这款软件主要服务于那些在非苹果硬件上安装了 macOS Yosemite 系统的用户。黑苹果是指在非苹果品牌电脑上运行苹果操作系统的...

    OS X_10.10 Yosemite 内置壁纸

    总的来说,OS X 10.10 Yosemite 内置壁纸代表了苹果在操作系统界面设计上的一次重要迭代,它将自然风光与科技完美融合,创造出一种和谐的视觉体验。无论你是苹果的忠实粉丝还是寻求桌面美化的人,这些壁纸都是一个...

    教你在Yosemite信息应用上共享电脑屏幕.docx

    Yosemite的屏幕共享功能体现了苹果在用户体验和技术上的投入。尽管这是一个看似简单的小功能,但背后涉及到网络传输、图像压缩、权限控制等复杂技术,使得屏幕共享既流畅又安全。 10. **其他实用功能**: ...

    summer2winter_yosemite.rar

    综上所述,这个压缩文件“summer2winter_yosemite.rar”可能是一个关于优胜美地国家公园季节变化的大数据项目。内容可能包括大量的环境监测数据,如气候、生态指标,通过数据挖掘技术进行分析,形成了一种可视化的...

    OS X Yosemite 10.10全系列内核文件 macox

    Chameleon是著名的第三方启动加载器,它允许用户在非Apple主板上安装和启动OS X,这在破解或装机社区中非常常见。Chameleon会解析系统配置,加载适当的内核和内核扩展,使得系统能够在非标准硬件上正常启动。 ...

    如何使用HP的order_number激活Yosemite

    本篇文章将详细介绍如何利用HP的order_number激活Yosemite,以便用户能够顺利地在自己的系统上安装和使用这款软件。 首先,如果你的设备已经随机附带了Yosemite备份软件,你将找到一张带有promo code的宣传单。你...

    MultiBeast-Yosemite-Edition-7.5.0

    总的来说,MultiBeast 7.5.0版是黑苹果用户不可或缺的驱动管理工具,它的存在使得在非苹果硬件上运行Yosemite成为可能。通过合理的驱动配置,黑苹果用户不仅可以享受到Mac OS X的优雅界面和强大功能,还能在非原装...

    subversion-client MacOS Yosemite上面超好用的svn客户端

    本人亲测,可以在MacOS Yosemite上面安装 xcode/idea 都可以使用

    苹果Yosemite OS X 10.10使用技巧大全.docx

    1. **Mac与iPhone集成**:Yosemite允许用户在连接同一WiFi网络的Mac上接收和发送iPhone的短信、彩信和iMessage,甚至可以直接在Mac上接听电话。这一特性是通过FaceTime和iMessage的深度整合实现的。 2. **电子签名*...

    summer2winter_yosemite.zip

    summer2winter_yosemite数据集,方便下载整理。 附下载链接:https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/datasets/

    Yosemite Transformation Pack 3.0.zip

    它不仅改变了Windows的基本外观,包括桌面背景、图标、窗口边框等,还模拟了Mac的动态效果,如透明度、过渡动画等,力求在Windows平台上重现Yosemite的精致细节。这一过程并不复杂,只需运行压缩包内的Yosemite ...

    Versions_1.3.1_for mac(yosemite)

    解压并安装这个文件后,用户就可以在他们的Yosemite系统上启动和使用Versions来管理他们的Subversion仓库。 使用Versions 1.3.1,用户可以享受以下主要功能: 1. **版本追踪**:跟踪文件和目录的历史变更,查看每个...

Global site tag (gtag.js) - Google Analytics