NameError:名称'Logi'未定义为Sikuli

时间:2011-07-20 15:19:43

标签: sikuli

我只是在尝试Sikuli。我正在尝试使用“主”页面调用包含某些类和一些def的其他文件。但我得到以下错误:

[错误]Arrêté[错误] Une erreur estsurvenueàlaligne 13 [error] Message d'erreur:Traceback(最近一次调用最后一次):文件“C:\ Users \ gregory \ AppData \ Local \ Temp \ sikuli -tmp2607956245912033896.py“,第13行,in log = Logi()NameError:名称'Logi'未定义

我真的不知道为什么。

我的代码

main.sikuli

# Path to def
myScriptPath = "C:\\NOT_SCANNED\\Stockage\\SikuliProject\\"

if not myScriptPath in sys.path: sys.path.append(myScriptPath)

# Import File.sikuli
from loginLogout import *
from sikuli.Sikuli import *

# Call Def
if __name__ == "__main__":
    log = Logi()
    log.login()
    log.logout()

loginLogout.sikuli

from sikuli.Sikuli import *

class Logi:
def login(self):
    openApp("MyApp")
    wait(5)
    type("demo" + Key.TAB + "demo" + Key.TAB)
    type("a", KEY_CTRL)
    type("localhost")
    click( )
    wait(5)
    wait( )

我注意到了。如果我将我的课程命名为foo,那就有效了。我真的不明白。

提前感谢您的帮助。


好的,我找到了一些东西。我命名我的文件时出了点问题。问题似乎已经解决了,因为现在我没有这个问题了。但我有另一个。现在我执行它时没有收到任何错误,但没有执行任何错误......

新代码:

# -*-coding:Latin-1 -*

   # Path to def
   myScriptPath = "C:\\NOT_SCANNED\\Stockage\\SikuliProject"

   if not myScriptPath in sys.path: sys.path.append(myScriptPath)

   # Import File.sikuli from sikuli.Sikuli import * from Logi import *

   # Call Def
   if __name__ == "__main__":   
    log = Logi()
    log.login

的Logi

from sikuli.Sikuli import *

class Logi:

  def login(self):
    openApp("MYAPP")
    wait(5)
    type("demo" + Key.TAB + "demo" + Key.TAB)
    type("a", KEY_CTRL)
    type("localhost")
    click( )
    wait(5)
    wait( )

  def logout(self):
    click( )
    wait( )
    click( )

  def openNewTab(self):
    click( )

  def createNewSingle(self):
    click( )
    click( )
    rightClick( )
    click( )
    click( )
    wait( )
    click( )
    type("test")
    click( )
    type("this is a test with Sikuli")
    click( )
    rightClick( )
    click( )
    click( )
    wait( )
    click( )

提前感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

您已添加脚本路径,但未添加脚本本身。在你的主要补充:

import Logi
reload(Logi)