How to use doSikuliAction method of org.cerberus.service.sikuli.impl.SikuliService class

Best Cerberus-source code snippet using org.cerberus.service.sikuli.impl.SikuliService.doSikuliAction

Source:SikuliService.java Github

copy

Full Screen

...285 }286 return true;287 }288 @Override289 public AnswerItem<JSONObject> doSikuliAction(Session session, String action, String locator, String locator2, String text, String text2) {290 AnswerItem<JSONObject> answer = new AnswerItem<>();291 MessageEvent msg = new MessageEvent(MessageEventEnum.ACTION_SUCCESS);292 HttpURLConnection connection = null;293 BufferedReader in = null;294 PrintStream os = null;295 StringBuilder response = new StringBuilder();296 URL url;297 String host = StringUtil.cleanHostURL(session.getNodeHost());298 String urlToConnect = host + ":" + session.getNodePort() + "/extra/ExecuteSikuliAction";299 try {300 /**301 * Connect to ExecuteSikuliAction Servlet Through SeleniumServer302 */303 url = new URL(urlToConnect);304 if (session.getNodeProxyPort() > 0) {305 Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(session.getHost(), session.getNodeProxyPort()));306 LOG.info("Open Connection to (using proxy : " + session.getHost() + ":" + session.getNodeProxyPort() + ") : " + urlToConnect);307 connection = (HttpURLConnection) url.openConnection(proxy);308 } else {309 LOG.info("Open Connection to : " + urlToConnect);310 connection = (HttpURLConnection) url.openConnection();311 }312 // We let Sikuli extension the sikuli timeout + 60 s to perform the action/control.313 connection.setReadTimeout(session.getCerberus_sikuli_wait_element() + 60000);314 connection.setConnectTimeout(session.getCerberus_sikuli_wait_element() + 60000);315 connection.setRequestMethod("POST");316 connection.setRequestProperty("User-Agent", "Mozilla/5.0");317 connection.setRequestProperty("Accept-Language", "en-US,en;q=0.5");318 JSONObject postParameters = generatePostParameters(action, locator, locator2, text, text2,319 session.getCerberus_sikuli_wait_element(),320 session.getCerberus_sikuli_minSimilarity(),321 session.getCerberus_selenium_highlightElement(),322 session.getCerberus_sikuli_typeDelay()323 );324 connection.setDoOutput(true);325 // Send post request326 os = new PrintStream(connection.getOutputStream());327 LOG.debug("Sending JSON : " + postParameters.toString());328 os.println(postParameters.toString());329 os.println("|ENDS|");330 if (connection == null) {331 LOG.warn("No response to the request !!");332 } else {333 LOG.debug("http response status code : " + connection.getResponseCode());334 }335 if (connection == null || connection.getResponseCode() != 200) {336 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_SIKULI_SERVER_NOT_REACHABLE);337 }338 in = new BufferedReader(339 new InputStreamReader(connection.getInputStream()));340 String inputLine = "";341 /**342 * Wait here until receiving |ENDR| String343 */344 while (inputLine != null) {345 inputLine = in.readLine();346 if (inputLine != null && !"|ENDR|".equals(inputLine)) {347 response.append(inputLine);348 } else {349 break;350 }351 }352 LOG.debug("Sikuli Answer: " + response.toString());353 if (response.toString() != null && response.length() > 0) {354 /**355 * Convert received string into JSONObject356 */357 JSONObject objReceived = new JSONObject(response.toString());358 answer.setItem(objReceived);359 if (objReceived.has("status")) {360 if ("OK".equals(objReceived.getString("status"))) {361 msg = new MessageEvent(MessageEventEnum.ACTION_SUCCESS);362 } else if ("KO".equals(objReceived.getString("status"))) {363 msg = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_BUTRETURNEDKO);364 } else {365 if (objReceived.has("message") && !StringUtil.isNullOrEmpty(objReceived.getString("message"))) {366 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_WITHDETAIL);367 msg.resolveDescription("DETAIL", objReceived.getString("message"));368 } else {369 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED);370 }371 }372 } else {373 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_WITHDETAIL).resolveDescription("DETAIL", "Sikuli Extention returned an invalid answer !! (Missing status information)");374 }375 } else {376 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_WITHDETAIL).resolveDescription("DETAIL", "Sikuli Extention returned an invalid answer !! (empty answer)");377 }378 in.close();379 } catch (MalformedURLException ex) {380 LOG.warn(ex, ex);381 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_SIKULI_SERVER_BADURL);382 msg.resolveDescription("URL", urlToConnect);383 } catch (FileNotFoundException ex) {384 LOG.warn(ex, ex);385 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_SIKULI_SERVER_BADURL);386 msg.resolveDescription("URL", urlToConnect);387 } catch (IOException ex) {388 LOG.warn(ex, ex);389 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_SIKULI_SERVER_BADURL);390 msg.resolveDescription("URL", urlToConnect);391 } catch (JSONException ex) {392 LOG.warn("Exception when converting response to JSON : " + response.toString(), ex);393 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED);394 } catch (MimeTypeException ex) {395 LOG.warn(ex, ex);396 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED);397 } catch (Exception ex) {398 LOG.warn(ex, ex);399 msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_SIKULI_SERVER_NOT_REACHABLE);400 msg.resolveDescription("URL", urlToConnect);401 } finally {402 if (os != null) {403 os.close();404 }405 if (connection != null) {406 connection.disconnect();407 }408 }409 answer.setResultMessage(msg);410 return answer;411 }412 @Override413 public MessageEvent doSikuliActionOpenApp(Session session, String appName) {414 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_OPENAPP, null, null, appName, "");415 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {416 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_OPENAPP);417 message.setDescription(message.getDescription().replace("%APP%", appName));418 return message;419 }420 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {421 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_OPENAPP);422 mes.setDescription(mes.getDescription().replace("%STRING1%", appName) + " - " + actionResult.getMessageDescription());423 return mes;424 }425 return actionResult.getResultMessage();426 }427 @Override428 public MessageEvent doSikuliActionCloseApp(Session session, String appName) {429 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_CLOSEAPP, null, null, appName, "");430 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {431 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_CLOSEAPP);432 message.setDescription(message.getDescription().replace("%APP%", appName));433 return message;434 }435 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {436 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_CLOSEAPP);437 mes.setDescription(mes.getDescription().replace("%STRING1%", appName) + " - " + actionResult.getMessageDescription());438 return mes;439 }440 return actionResult.getResultMessage();441 }442 @Override443 public MessageEvent doSikuliActionClick(Session session, String locator, String text) {444 AnswerItem<JSONObject> actionResult = null;445 if (!locator.isEmpty()) {446 actionResult = doSikuliAction(session, this.SIKULI_CLICK, locator, null, "", "");447 } else {448 actionResult = doSikuliAction(session, this.SIKULI_CLICK, null, null, text, "");449 }450 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {451 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_CLICK);452 message.setDescription(message.getDescription().replace("%ELEMENT%", locator));453 return message;454 }455 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {456 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_CLICK_NO_SUCH_ELEMENT);457 mes.setDescription(mes.getDescription().replace("%ELEMENT%", locator) + " - " + actionResult.getMessageDescription());458 return mes;459 }460 return actionResult.getResultMessage();461 }462 @Override463 public MessageEvent doSikuliActionDragAndDrop(Session session, Identifier identifierDrag, Identifier identifierDrop) {464 AnswerItem<JSONObject> actionResult = null;465 if (SIKULI_IDENTIFIER_PICTURE.equals(identifierDrag.getIdentifier())466 && SIKULI_IDENTIFIER_PICTURE.equals(identifierDrop.getIdentifier())) {467 actionResult = doSikuliAction(session, this.SIKULI_DRAGANDDROP, identifierDrag.getLocator(), identifierDrop.getLocator(), "", "");468 } else if (SIKULI_IDENTIFIER_PICTURE.equals(identifierDrag.getIdentifier())469 && SIKULI_IDENTIFIER_TEXT.equals(identifierDrop.getIdentifier())) {470 actionResult = doSikuliAction(session, this.SIKULI_DRAGANDDROP, identifierDrag.getLocator(), null, "", identifierDrop.getLocator());471 } else if (SIKULI_IDENTIFIER_TEXT.equals(identifierDrag.getIdentifier())472 && SIKULI_IDENTIFIER_PICTURE.equals(identifierDrop.getIdentifier())) {473 actionResult = doSikuliAction(session, this.SIKULI_DRAGANDDROP, null, identifierDrop.getLocator(), identifierDrag.getLocator(), "");474 } else {475 actionResult = doSikuliAction(session, this.SIKULI_DRAGANDDROP, null, null, identifierDrag.getLocator(), identifierDrop.getLocator());476 }477 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {478 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_DRAGANDDROP);479 message.setDescription(message.getDescription().replace("%SOURCE%", identifierDrag.getLocator()));480 message.setDescription(message.getDescription().replace("%TARGET%", identifierDrop.getLocator()));481 return message;482 }483 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {484 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_DRAGANDDROPSIKULI_NO_SUCH_ELEMENT);485 mes.setDescription(mes.getDescription() + " - " + actionResult.getMessageDescription());486 return mes;487 }488 return actionResult.getResultMessage();489 }490 @Override491 public MessageEvent doSikuliActionRightClick(Session session, String locator, String text) {492 AnswerItem<JSONObject> actionResult = null;493 if (!locator.isEmpty()) {494 actionResult = doSikuliAction(session, this.SIKULI_RIGHTCLICK, locator, null, "", "");495 } else {496 actionResult = doSikuliAction(session, this.SIKULI_RIGHTCLICK, null, null, text, "");497 }498 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {499 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_RIGHTCLICK);500 message.setDescription(message.getDescription().replace("%ELEMENT%", locator));501 return message;502 }503 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {504 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_RIGHTCLICK_NO_SUCH_ELEMENT);505 mes.setDescription(mes.getDescription().replace("%ELEMENT%", locator) + " - " + actionResult.getMessageDescription());506 return mes;507 }508 return actionResult.getResultMessage();509 }510 @Override511 public MessageEvent doSikuliActionLeftButtonPress(Session session) {512 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_LEFTCLICKPRESS, null, null, "", "");513 return actionResult.getResultMessage();514 }515 @Override516 public MessageEvent doSikuliActionLeftButtonRelease(Session session) {517 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_LEFTCLICKRELEASE, null, null, "", "");518 return actionResult.getResultMessage();519 }520 @Override521 public MessageEvent doSikuliActionMouseMove(Session session, String xyoffset) {522 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_MOUSEMOVE, null, null, xyoffset, "");523 return actionResult.getResultMessage();524 }525 @Override526 public MessageEvent doSikuliActionSwitchApp(Session session, String locator) {527 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_SWITCHAPP, locator, null, "", "");528 return actionResult.getResultMessage();529 }530 @Override531 public MessageEvent doSikuliActionDoubleClick(Session session, String locator, String text) {532 AnswerItem<JSONObject> actionResult = null;533 if (!locator.isEmpty()) {534 actionResult = doSikuliAction(session, this.SIKULI_DOUBLECLICK, locator, null, "", "");535 } else {536 actionResult = doSikuliAction(session, this.SIKULI_DOUBLECLICK, null, null, text, "");537 }538 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {539 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_DOUBLECLICK);540 message.setDescription(message.getDescription().replace("%ELEMENT%", locator));541 return message;542 }543 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {544 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_DOUBLECLICK_NO_SUCH_ELEMENT);545 mes.setDescription(mes.getDescription().replace("%ELEMENT%", locator) + " - " + actionResult.getMessageDescription());546 return mes;547 }548 return actionResult.getResultMessage();549 }550 @Override551 public MessageEvent doSikuliActionType(Session session, String locator, String text) {552 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_TYPE, locator, null, text, "");553 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {554 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_TYPE);555 message.setDescription(message.getDescription().replace("%ELEMENT%", locator));556 message.setDescription(message.getDescription().replace("%DATA%", text));557 return message;558 }559 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {560 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_TYPE_NO_SUCH_ELEMENT);561 mes.setDescription(mes.getDescription().replace("%ELEMENT%", locator) + " - " + actionResult.getMessageDescription());562 return mes;563 }564 return actionResult.getResultMessage();565 }566 @Override567 public MessageEvent doSikuliActionMouseOver(Session session, String locator, String text) {568 AnswerItem<JSONObject> actionResult = null;569 if (!locator.isEmpty()) {570 actionResult = doSikuliAction(session, this.SIKULI_MOUSEOVER, locator, null, "", "");571 } else {572 actionResult = doSikuliAction(session, this.SIKULI_MOUSEOVER, null, null, text, "");573 }574 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {575 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEOVER);576 message.setDescription(message.getDescription().replace("%ELEMENT%", locator));577 return message;578 }579 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {580 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVER_NO_SUCH_ELEMENT);581 mes.setDescription(mes.getDescription().replace("%ELEMENT%", locator) + " - " + actionResult.getMessageDescription());582 return mes;583 }584 return actionResult.getResultMessage();585 }586 @Override587 public MessageEvent doSikuliActionWait(Session session, String locator, String text) {588 AnswerItem<JSONObject> actionResult = null;589 if (!locator.isEmpty()) {590 actionResult = doSikuliAction(session, this.SIKULI_WAIT, locator, null, "", "");591 } else {592 actionResult = doSikuliAction(session, this.SIKULI_WAIT, null, null, text, "");593 }594 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {595 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT);596 message.setDescription(message.getDescription().replace("%ELEMENT%", locator));597 return message;598 }599 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {600 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT_NO_SUCH_ELEMENT);601 mes.setDescription(mes.getDescription().replace("%ELEMENT%", locator) + " - " + actionResult.getMessageDescription());602 return mes;603 }604 return actionResult.getResultMessage();605 }606 @Override607 public MessageEvent doSikuliActionWaitVanish(Session session, String locator, String text) {608 AnswerItem<JSONObject> actionResult = null;609 if (!locator.isEmpty()) {610 actionResult = doSikuliAction(session, this.SIKULI_WAITVANISH, locator, null, "", "");611 } else {612 actionResult = doSikuliAction(session, this.SIKULI_WAITVANISH, null, null, text, "");613 }614 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {615 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAITVANISH_ELEMENT);616 message.setDescription(message.getDescription().replace("%ELEMENT%", locator));617 return message;618 }619 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {620 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_RIGHTCLICK_NO_SUCH_ELEMENT);621 mes.setDescription(mes.getDescription().replace("%ELEMENT%", locator) + " - " + actionResult.getMessageDescription());622 return mes;623 }624 return actionResult.getResultMessage();625 }626 @Override627 public MessageEvent doSikuliActionKeyPress(Session session, String locator, String textToKey, String modifier) {628 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_KEYPRESS, locator, null, textToKey, modifier);629 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {630 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS)631 .resolveDescription("ELEMENT", locator)632 .resolveDescription("DATA", textToKey)633 .resolveDescription("MODIFIER", modifier);634 return message;635 }636 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {637 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_OTHER)638 .resolveDescription("ELEMENT", locator)639 .resolveDescription("DATA", textToKey)640 .resolveDescription("MODIFIER", modifier)641 .resolveDescription("REASON", actionResult.getMessageDescription());642 return mes;643 }644 return actionResult.getResultMessage();645 }646 @Override647 public MessageEvent doSikuliVerifyElementPresent(Session session, String locator, String text) {648 AnswerItem<JSONObject> actionResult = doSikuliAction(session, SikuliService.SIKULI_VERIFYELEMENTPRESENT, locator, null, text, "");649 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {650 MessageEvent message = new MessageEvent(MessageEventEnum.CONTROL_SUCCESS_PRESENT);651 message.setDescription(message.getDescription().replace("%STRING1%", locator == null ? text : locator));652 return message;653 }654 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS_BUTRETURNEDKO).getCodeString())) {655 MessageEvent mes = new MessageEvent(MessageEventEnum.CONTROL_FAILED_PRESENT);656 mes.setDescription(mes.getDescription().replace("%STRING1%", locator == null ? text : locator));657 return mes;658 }659 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {660 MessageEvent mes = new MessageEvent(MessageEventEnum.CONTROL_FAILED_GENERIC);661 mes.setDescription(mes.getDescription().replace("%ERROR%", locator == null ? text : locator) + " - " + actionResult.getMessageDescription());662 return mes;663 }664 return actionResult.getResultMessage();665 }666 @Override667 public MessageEvent doSikuliVerifyElementNotPresent(Session session, String locator, String text) {668 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_VERIFYELEMENTNOTPRESENT, locator, null, text, "");669 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {670 MessageEvent message = new MessageEvent(MessageEventEnum.CONTROL_SUCCESS_NOTPRESENT);671 message.setDescription(message.getDescription().replace("%STRING1%", locator == null ? text : locator));672 return message;673 }674 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS_BUTRETURNEDKO).getCodeString())) {675 MessageEvent message = new MessageEvent(MessageEventEnum.CONTROL_FAILED_NOTPRESENT);676 message.setDescription(message.getDescription().replace("%STRING1%", locator == null ? text : locator));677 return message;678 }679 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {680 MessageEvent mes = new MessageEvent(MessageEventEnum.CONTROL_FAILED_GENERIC);681 mes.setDescription(mes.getDescription().replace("%ERROR%", locator == null ? text : locator) + " - " + actionResult.getMessageDescription());682 return mes;683 }684 return actionResult.getResultMessage();685 }686 @Override687 public MessageEvent doSikuliVerifyTextInPage(Session session, String text) {688 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_VERIFYTEXTINPAGE, null, null, text, "");689 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {690 MessageEvent message = new MessageEvent(MessageEventEnum.CONTROL_SUCCESS_TEXTINPAGE);691 message.setDescription(message.getDescription().replace("%STRING1%", text));692 return message;693 }694 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {695 MessageEvent mes = new MessageEvent(MessageEventEnum.CONTROL_FAILED_TEXTINPAGE);696 mes.setDescription(mes.getDescription().replace("%STRING1%", text) + " - " + actionResult.getMessageDescription());697 return mes;698 }699 return actionResult.getResultMessage();700 }701 @Override702 public MessageEvent doSikuliEndExecution(Session session) {703 AnswerItem<JSONObject> actionResult = doSikuliAction(session, SikuliService.SIKULI_ENDEXECUTION, null, null, "", "");704 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {705 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS);706 return message;707 }708 if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {709 MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_ENDEXECUTION);710 mes.resolveDescription("DETAIL", actionResult.getMessageDescription());711 return mes;712 }713 return actionResult.getResultMessage();714 }715 @Override716 public File takeScreenShotFile(Session session) {717 File image = null;718 long timeout = System.currentTimeMillis() + (session.getCerberus_selenium_wait_element());719 try {720 AnswerItem<JSONObject> actionResult = doSikuliAction(session, this.SIKULI_CAPTURE, null, null, "", "");721 String screenshotInBase64 = actionResult.getItem().getString("screenshot");722 byte[] data = Base64.decodeBase64(screenshotInBase64);723 image = new File("screenshotsikuli" + UUID.randomUUID().toString().subSequence(0, 14) + ".png");724 FileUtils.writeByteArrayToFile(image, data);725 if (image != null) {726 //logs for debug purposes727 LOG.info("Screenshot taken with succes: " + image.getName() + " (size : " + image.length() + " b)");728 } else {729 LOG.warn("Screenshot returned null: ");730 }731 } catch (JSONException ex) {732 LOG.warn(ex);733 } catch (IOException ex) {734 LOG.warn(ex);...

Full Screen

Full Screen

doSikuliAction

Using AI Code Generation

copy

Full Screen

1import org.cerberus.service.sikuli.impl.SikuliService;2import org.sikuli.script.FindFailed;3import java.io.IOException;4public class SikuliTest {5 public static void main(String[] args) throws FindFailed, IOException, InterruptedException {6 String path = "C:\\Users\\Dell\\Desktop\\cerberus\\cerberus-sikuli\\src\\main\\resources\\sikuli\\";7 String file = "SikuliTest";8 String action = "open";9 String[] args1 = {path, file, action};10 SikuliService.doSikuliAction(args1);11 }12}

Full Screen

Full Screen

doSikuliAction

Using AI Code Generation

copy

Full Screen

1import org.cerberus.service.sikuli.impl.SikuliService;2SikuliService sikuliService = new SikuliService();3sikuliService.doSikuliAction("C:\\Users\\test\\Desktop\\sikuli\\", "test.png", "click");4import org.cerberus.service.sikuli.impl.SikuliService;5SikuliService sikuliService = new SikuliService();6sikuliService.doSikuliAction("C:\\Users\\test\\Desktop\\sikuli\\", "test.png", "click");7import org.cerberus.service.sikuli.impl.SikuliService;8SikuliService sikuliService = new SikuliService();9sikuliService.doSikuliAction("C:\\Users\\test\\Desktop\\sikuli\\", "test.png", "click");10import org.cerberus.service.sikuli.impl.SikuliService;11SikuliService sikuliService = new SikuliService();12sikuliService.doSikuliAction("C:\\Users\\test\\Desktop\\sikuli\\", "test.png", "click");13import org.cerberus.service.sikuli.impl.SikuliService;14SikuliService sikuliService = new SikuliService();15sikuliService.doSikuliAction("C:\\Users\\test\\Desktop\\sikuli\\", "test.png", "click");

Full Screen

Full Screen

doSikuliAction

Using AI Code Generation

copy

Full Screen

1String image = "C:\\Users\\Public\\Pictures\\Sample Pictures\\Chrysanthemum.jpg";2int timeout = 5000;3String action = "click";4boolean result = doSikuliAction(action, image, timeout);5System.out.println(result);6image = "C:\\Users\\Public\\Pictures\\Sample Pictures\\Desert.jpg";

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful