Sikuli - NameError:未定义全局名称“openApp”

时间:2012-01-27 17:30:07

标签: automated-tests nameerror sikuli

我在Sikuli IDE中调用了sikuli函数,但我收到此错误“NameError:全局名称'openApp'未定义”...

如果我尝试在新的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)......

希望我已经解释得很好

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

如果你的测试基本上都在同一个文件夹中,那么

import testName
reload(testName)
from testName import *

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

testName应该是没有.sikuli扩展名的文件的名称

答案 2 :(得分:0)

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