3

我在 Sikuli IDE 中调用一个 sikuli 函数,但我收到此错误“NameError: global name 'openApp' is not defined”...

如果我尝试在新的 Sikuli 空白文件中执行 openApp('calc') ,它可以工作,但如果我在另一个 .sikuli 文件中使用,例如:

def sample():
    import myLib
    # my Lib is .py file that I've created and put it on sikuli-script.jar
    var = somevalue
    myLib.myFunction(something)
    openApp('calc')

我也收到“openApp”和其他 sikuli 函数(如“Key”)(例如:Key.ENTER)的错误......

希望我已经解释得很好

4

3 回答 3

2

默认情况下,Sikuli 会将 a 插入from sikuli import *到所有主文件中。导入 sikuli 模块时往往会发生此错误。如果要导入模块,则需要手动添加导入。有关更多建议,请参阅文档

于 2012-02-03T21:46:07.633 回答
0

如果您的测试基本上在同一个文件夹中,您可以这样做,

import testName
reload(testName)
from testName import *

这将导入您的测试并执行它的内容。

testName 应该是不带 .sikuli 扩展名的文件名

于 2014-02-09T08:17:48.867 回答
0

我遇到了一个类似的问题,通过将from sikuli import *放在您要导入的任何文件的第一行来解决。我希望这有帮助!
我只提到了这一点,因为对于导入的文件,我在这个方面取得了最大的整体成功,并且把它作为第一行成为了习惯。

于 2015-01-05T11:58:50.530 回答