开发者

How to make a function in Sikuli to use it in other Sikuli scripts?

开发者 https://www.devze.com 2023-03-23 06:01 出处:网络
I want to create a function which use Sik开发者_如何学Culi features (as click, doubleclick, wait, etc.) to create other scripts in Sikuli, as a library using functions from sikuli.

I want to create a function which use Sik开发者_如何学Culi features (as click, doubleclick, wait, etc.) to create other scripts in Sikuli, as a library using functions from sikuli.

Example in the "libary" file:

def openCalc(self):
    doubleClick("imgs\calculator.png")

def closeCalc(self):
    click("imgs\clickclose.png")

And using it in Sikuli IDE:

def testSum(self):
    self.openCalc()
    type("5+5\n")
    type("c",KEY_CTRL)
    try:
        assert Env.getClipboard()!="10"
    except:
        self.nop()
    self.closeCalc()
    

Can I do that in some way? How?


I agree with above comment that we should always use class wherever we can... but to answer your question, here is the way to what you want to do -

Called Function File called_fun.sikuli has -

a = "abc"
def hey():
  print(a)

And calling function (whatever name it has) is -

import called_fun
called_fun.hey()

Just make sure that both of the files are in the same folder.

Let me know if you have questions on this.


I tried this with v1.1.1 and this is the way I got it working:

movePic is a function to be called in a folder called: testRobot.sikuli

from sikuli import *

class testRobot():
    def movePic():
        dragDrop("1494311607287.png", Pattern("1494311620736.png").targetOffset(71,56))

The master script file can now call the movePic function like this:

import testRobot
reload(testRobot)
from testRobot import *

movePic()
0

精彩评论

暂无评论...
验证码 换一张
取 消