sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #27488
Re: [Question #252490]: [1.0.1] Sikuli integration Robot framework --- use sikuli-java.jar
Question #252490 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/252490
Status: Open => Answered
RaiMan proposed the following answer:
ok, now I got the secret behind all this:
- if you want to use a class inside a module, then the class name has to
be the same as the module name (without the .py and/or the .sikuli) -
and this is case sensitive. If this is not the case (module name !=
class name), then there are more options to specify the class to be
loaded.
- if you use the library specification in Settings with a folder
structure like folder/folder/folder/module.py, then there MUST be module
name == class name (case sensitive)
Taking this all together, then this is a valid example:
*** Settings ***
Library….stuff/Calculator.sikuli/Calculator.py
*** Test Cases ***
Verify that 2 + 2 = 4
Start App
Verify App
Perform Action….2….+….2
Verify Result….4
with this Calculator.sikuli:
import org.sikuli.basics.SikuliXforJython
from sikuli import *
popup("Calculator.sikuli")
class Calculator:
def __init__(self):
popup("__init__")
def startApp(self):
popup("startApp")
def verifyApp(self):
popup("verifyApp")
def performAction(self, *args):
popup("performAction")
def verifyResult(self, *args):
popup("verifyResult")
def runAllTests(self):
self.startApp()
self.verifyApp()
self.performAction()
self.verifyResult()
# ---- this is ignored when imported
# ---- makes this runnable for testing outside RFW
if __name__ == "__main__":
Calculator().runAllTests()
… and this simply does what it should.
--
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.