sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #26509
[Bug 1332260] Re: [1.1.0-Beta1] click() fails on anything but Screen(0)
--- Can you point me to the commit on github
not only one commit, nearly every commit since this one
https://github.com/RaiMan/SikuliX-2014/commit/d5b48fd296d4ba63a5c8894d70f14fb5eb2f66f1
has something to do with the complete (again :-( revision of the features where the use of AWT Robot was involved.
- Screen.initScreens()
- RobotDesktop
- OverlayCapturePrompt
- ScreenUnion
The main design flaw was the idea, to always have the screen with (0,0) as Screen(0) and hence primary screen.
Now I leave the screens in the order as they are reported by the underlying graphics system, which might lead to the case, where the primary screen (Mac: the screen having the menu bar, Windows: the screen having the desktop, Linux: I cannot check) now is Screen(n), where n > 0.
Mouse handling now is done using an unbound robot instance, which seems to work without the need to do any point translation.
There is one problem left: on Mac 10.9, the overlay capture prompt is
not shown on the primary screen in multi monitor situation.
--
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/1332260
Title:
[1.1.0-Beta1] click() fails on anything but Screen(0)
Status in Sikuli:
Fix Committed
Bug description:
SikuliX Setup Build: 1.1.0-Beta1 2014-05-30-18
My sikuli script is able to locate the button fine and highlight even
highlights the correct button, however click fails
Thinking that click was failing due to color change, I explicitly
grabbed the location (coordinates) from the match and passed it to
click but click still fails
I have tried to put in wait(), set ClickDelay, used hover before
clicking: nothing works.
My script fails if it runs on anything but Screen(0)
If I keep the screen I'm trying to click on on my primary display, the
script executes just fine!
The issue is that the script outputs all the correct coordinates as
per Screen(1) but the click actually happens on Screen(0)!
Here is what my code looks like:
Settings.setShowActions(True)
Settings.ActionLogs = True
Settings.InfoLogs = True
Settings.DebugLogs = True
SCR1 = Screen(1)
p1 = Pattern("1402973791825.png")
p2 = Pattern("1402972955014.png")
goOn = True
while goOn:
try:
x1 = SCR1.find(p1.exact())
print x1
#hover(x1)
goOn = False
except FindFailed:
x2 = SCR1.find(p2.exact())
x2l = x2.getTarget()
print x2l
x2h = x2.hover()
print x2h
x2h = x2.hover()
print x2h
x2.highlight(5)
# icon on hover becomes darker
#sleep(100)
x2c = x2.doubleClick()
print x2c
x2.highlight(5)
x2.hover(p2)
wait(0.5)
Settings.ClickDelay = 0.3
x2c = x2.click(p2)
print x2c
goOn = False
x2c = x2.mouseDown(Button.LEFT)
print x2c
x2c = x2.mouseUp(Button.LEFT)
print x2c
To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1332260/+subscriptions
References