public static void sikuliDragAndDrop( LiferaySelenium liferaySelenium, String image, String coordString) throws Exception { ScreenRegion screenRegion = new DesktopScreenRegion(); ImageTarget imageTarget = getImageTarget(liferaySelenium, image); screenRegion = screenRegion.find(imageTarget); Mouse mouse = new DesktopMouse(); mouse.move(screenRegion.getCenter()); Robot robot = new Robot(); robot.delay(1000); mouse.press(); robot.delay(2000); String[] coords = coordString.split(","); Location location = screenRegion.getCenter(); int x = location.getX() + GetterUtil.getInteger(coords[0]); int y = location.getY() + GetterUtil.getInteger(coords[1]); robot.mouseMove(x, y); robot.delay(1000); mouse.release(); }
public static void main(String[] args) { simulator.start(); ScreenRegion s = new DesktopScreenRegion(); URL imageURL = Images.GoogleSearchButton; Target imageTarget = new ImageTarget(imageURL); ScreenRegion r = s.find(imageTarget); canvas.addBox(Relative.to(r).right(100).getScreenRegion()); canvas.addLabel(Relative.to(r).right(100).center().getScreenLocation(), "right"); canvas.addBox(Relative.to(r).left(100).getScreenRegion()); canvas.addLabel(Relative.to(r).left(100).center().getScreenLocation(), "left"); canvas.addBox(Relative.to(r).above(100).getScreenRegion()); canvas.addLabel(Relative.to(r).above(100).center().getScreenLocation(), "above"); canvas.addBox(Relative.to(r).below(100).getScreenRegion()); canvas.addLabel(Relative.to(r).below(100).center().getScreenLocation(), "below"); canvas.display(3); mouse.click(Relative.to(r).center().getScreenLocation()); mouse.click(Relative.to(r).topLeft().getScreenLocation()); mouse.click(Relative.to(r).topRight().getScreenLocation()); mouse.click(Relative.to(r).bottomRight().getScreenLocation()); mouse.click(Relative.to(r).bottomLeft().getScreenLocation()); }
public static void sikuliAssertElementNotPresent(LiferaySelenium liferaySelenium, String image) throws Exception { ScreenRegion screenRegion = new DesktopScreenRegion(); ImageTarget imageTarget = getImageTarget(liferaySelenium, image); if (screenRegion.wait(imageTarget, 5000) != null) { throw new Exception("Element is present"); } }
public static void sikuliClick(LiferaySelenium liferaySelenium, String image) throws Exception { ScreenRegion screenRegion = new DesktopScreenRegion(); ImageTarget imageTarget = getImageTarget(liferaySelenium, image); screenRegion = screenRegion.find(imageTarget); Mouse mouse = new DesktopMouse(); mouse.click(screenRegion.getCenter()); }
private static boolean isTargetVisibleAt(Target target, ScreenRegion region) { if (region == null) return false; ScreenRegion neighborRegion = Relative.to(region).taller(2).wider(2).getScreenRegion(); ScreenRegion newRegion = neighborRegion.find(target); if (newRegion == null) { logger.debug(target + " is not visible at " + newRegion); return false; } else { logger.debug(target + " is visible at " + newRegion); return true; } }
// TODO: this is not working yet public static void main(String[] args) throws IOException, InterruptedException { URL backgroundImage = Images.GoogleSearchPage; URL dragTargetImage = Images.OSXDockIcon; DragDropFrame imageFrame = new DragDropFrame(backgroundImage, dragTargetImage); imageFrame.autoClose(10000); ScreenRegion s = new DesktopScreenRegion(); Mouse mouse = new DesktopMouse(); URL imageURL = Images.OSXDockIcon; Target imageTarget = new ImageTarget(imageURL); ScreenRegion r = s.wait(imageTarget, 1000); mouse.drag(r.getCenter()); imageURL = Images.GoogleMicrophoneIcon; imageTarget = new ImageTarget(imageURL); r = s.wait(imageTarget, 1000); mouse.drop(r.getCenter()); ScreenLocation c = mouse.getLocation(); mouse.drag(c); mouse.drop(Relative.to(c).left(200).above(50).getScreenLocation()); }
public void run() { ScreenRegion currentTargetRegion = null; if (lastTargetRegion == null) { currentTargetRegion = screenRegion.find(target); if (currentTargetRegion != null) { // appear setLastTargetRegion(currentTargetRegion); listener.targetAppeared(createTargetEvent()); logger.debug(target + " has appeared"); } else { // still vanished } } else { if (isTargetVisibleAt(target, lastTargetRegion)) { // still there } else { currentTargetRegion = screenRegion.find(target); if (currentTargetRegion == null) { // vanished listener.targetVanished(createTargetEvent()); setLastTargetRegion(null); logger.debug(target + " has vanished"); } else { // moved setLastTargetRegion(currentTargetRegion); listener.targetMoved(createTargetEvent()); logger.debug(target + " has moved to " + currentTargetRegion); } } } }
public static void sikuliAssertElementPresent(LiferaySelenium liferaySelenium, String image) throws Exception { ScreenRegion screenRegion = new DesktopScreenRegion(); ImageTarget imageTarget = getImageTarget(liferaySelenium, image); screenRegion = screenRegion.wait(imageTarget, 5000); if (screenRegion == null) { throw new Exception("Element is not present"); } Canvas canvas = new DesktopCanvas(); ElementAdder elementAdder = canvas.add(); ElementAreaSetter elementAreaSetter = elementAdder.box(); elementAreaSetter.around(screenRegion); canvas.display(2); }
@Test public void functionName() throws FindFailed { // Create a new instance of the Firefox driver WebDriver driver = new FirefoxDriver(); // And now use this to visit Google driver.get("http://www.google.com"); // Create and initialize an instance of Screen object Screen screen = new Screen(); screen.keyDown(Key.SPACE); screen.type(null, Key.SPACE + "n", 0); screen.keyUp(Key.SPACE); ScreenRegion s = new DesktopScreenRegion(); Target target = new ImageTarget(new File("C:\\testsuk.sikuli\\GoogleSearch.png")); ScreenRegion r = s.find(target); // Create a mouse object Mouse mouse = new DesktopMouse(); // Use the mouse object to click on the center of the target region mouse.click(r.getCenter()); System.out.println(r.getBounds()); // Add image path // Pattern image = new Pattern("C:\\testsuk.sikuli\\searchButton.png"); // Wait 10ms for image // s.wait(image, 10); // Click on the image // screen.click(image); }