2011-07-25 18 views
0

sikuliの機能を使用するライブラリとして、Sikuliの機能(クリック、ダブルクリック、待機など)を使用してSikuliに他のスクリプトを作成する機能を作成したいと考えています。Sikuliで他のSikuliスクリプトで使用するにはどうすればいいですか?

例は、 "libary" ファイルに:

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

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

そして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() 

私はいくつかの方法でそれを行うことができますか?どうやって?

ありがとうございました。

+0

ライブラリファイルはどういう意味ですか?これらのメソッドが定義されたクラスを作成し、そのクラスのメソッドを呼び出すだけで済みます。私はあなたが求めていることを十分に知りません。 –

答えて

3

私たちはどこに私達ができる常にクラスを使用する必要があります...しかし、あなたの質問に答えるために、ここにあなたが何をしたいかへの道である上記のコメントに同意する - 機能ファイル呼び出さ

called_fun.sikuli持っている -

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

、呼び出し元の関数を(それが持っている任意の名前)です -

import called_fun 
called_fun.hey() 

念股関節を作ります両方のファイルが同じフォルダにあります。

ご質問がありましたら教えてください。

1

私は1.1.1でこれを試してみましたが、これは私はそれが働いてしまった方法です:testRobot.sikuli

from sikuli import * 

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

movePicと呼ばれるフォルダに呼び出される関数ですマスタースクリプトファイルは次のようにmovePic関数を呼び出すことができます:

import testRobot 
reload(testRobot) 
from testRobot import * 

movePic() 
+0

sikuliがイメージを見つけることができないのでエラーが発生することがありますが、コードではそのエラーが発生しないので+1します – Cr1xus

関連する問題