在 python 中导入 sikuli 模块时遇到问题。我正在使用 RIDE 运行 python 脚本

Posted

技术标签:

【中文标题】在 python 中导入 sikuli 模块时遇到问题。我正在使用 RIDE 运行 python 脚本【英文标题】:Having trouble in importing sikuli modules in python . I am using RIDE to run python script 【发布时间】:2013-02-03 16:18:52 【问题描述】:

我在获取 sikuli+python 时遇到了麻烦。每当我通过 RIDE(机器人框架 IDE)执行 python 脚本时,我都会看到导入 sikuli api 的问题。我尝试在环境变量中添加 sikuli 路径,并将 sikuli lib 放在工作目录中。还是同样的问题。

Python 和机器人框架版本

机器人框架 2.6.3(win32 上的 Python 2.7.2)

[ 错误 ] 表 'Settings' 中的文件 'C:\Sanity_Automation\Work_Project\robot_suite\quick_run.txt' 中的错误:导入测试库 'C:\Sanity_Automation\Work_Project\TestCreator.py' 失败:ImportError: No module命名为 sikuli.Sikuli

PYTHONPATH: ['C:\Sanity_Automation\Python272\lib\site-packages\robot\libraries', 'C:\Windows\system32\python27.zip', 'C:\Sanity_Automation\Python272\DLLs', ' C:\Sanity_Automation\Python272\lib', 'C:\Sanity_Automation\Python272\lib\plat-win', 'C:\Sanity_Automation\Python272\lib\lib-tk', 'C:\Sanity_Automation\Python272', ' C:\Sanity_Automation\Python272\lib\site-packages', 'C:\Sanity_Automation\Python272\lib\site-packages\wx-2.8-msw-unicode', '.']

Traceback(最近一次通话最后一次):

文件“C:\Sanity_Automation\Python272\lib\site-packages\robot\utils\importing.py”,第 84 行,在 _non_dotted_import 中

module = _import_module_by_path(name)

文件“C:\Sanity_Automation\Python272\lib\site-packages\robot\utils\importing.py”,第 38 行,在 _import_module_by_path 中

module = __import__(modname)

文件“C:\Sanity_Automation\Work_Project\TestCreator.py”,第 1 行,在

import ospf

文件“C:\Sanity_Automation\Work_Project\ospf.py”,第 1 行,在

从 sikuli.Sikuli 导入 *

【问题讨论】:

请评论您的问题是否得到解答 也许您可以考虑使用Automa 作为替代方案?它提供与 Sikuli 相同的功能(关于基于图像的自动化)等等。它是作为 Python 应用程序开发的,可以作为 Python 库使用:http://www.getautoma.com/features/python_integration 【参考方案1】:

要直接使用 Sikuli,您需要使用 jython 版本的 robotsframework,但是如果由于您依赖的其他库而无法选择,我一直在努力解决这个问题 - 我创建了一个 @ 987654321@ 使用 jython 在服务器上运行 Sikuli,但运行纯 python 客户端,可用于构建测试的业务对象。

最终的目标是提供一个用于导入的库,它为大多数人提供了足够的接口,但提供了一个灵活的扩展基础——因为我目前是我知道的唯一一个使用它的人,我不是很确定放在这里最有用的是什么,但我会很乐意在可能的情况下提供支持。

目前我自己在工作中使用它来针对 Flash 应用程序运行回归包,因此虽然它处于开发的早期阶段,但它已经处于有用状态...

【讨论】:

@YashwanthNataraj 如果解决了您的问题,请考虑接受我的回答【参考方案2】:

Sikuli 不会在 Python 解释器上运行,您只能使用 Jython。

【讨论】:

以上是关于在 python 中导入 sikuli 模块时遇到问题。我正在使用 RIDE 运行 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章

在 jython 中导入 python 模块

无法在 python 脚本中导入 google.cloud 模块

如何在pydroid中导入模块

python 中导入redis模块

在 Sikuli X Java 中查找图像

在 Django 中导入 python 模块时出错