Best Cerberus-source code snippet using org.cerberus.service.appium.impl.IOSAppiumService.swipe
Source:IOSAppiumService.java
...47 private static final Logger LOG = LogManager.getLogger(IOSAppiumService.class);48 @Autowired49 private ParameterService parameters;50 /**51 * The Appium swipe duration parameter which is got thanks to the52 * {@link ParameterService}53 */54 private static final String CERBERUS_APPIUM_SWIPE_DURATION_PARAMETER = "cerberus_appium_swipe_duration";55 /**56 * The default Appium swipe duration if no57 * {@link AppiumService#APPIUM_SWIPE_DURATION_PARAMETER} has been defined58 */59 private static final int DEFAULT_CERBERUS_APPIUM_SWIPE_DURATION = 2000;60 /**61 * Because of https://github.com/appium/java-client/issues/402 we are62 * unfortunately unable to press to whatever key on the IOS keyboard. This63 * is due to an IOS limitation64 * <p>65 * Then this method only press on recognized keys by IOS, which are66 * enumerated from {@link KeyCode}67 *68 * @param session the associated {@link Session}69 * @param keyName the key name to be pressed70 * @return a {@link MessageEvent} containing result value71 */72 @Override73 public MessageEvent keyPress(Session session, String keyName) {74 // First, check if the key name is correct, due to the IOS limitation75 KeyCode keyToPress;76 try {77 keyToPress = KeyCode.valueOf(keyName);78 } catch (IllegalArgumentException e) {79 return new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_NOT_AVAILABLE).resolveDescription("KEY", keyName);80 }81 // Then do the key press82 try {83 session.getAppiumDriver().getKeyboard().pressKey(keyToPress.getCode());84 return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT).resolveDescription("KEY", keyName);85 } catch (Exception e) {86 LOG.warn("Unable to key press due to " + e.getMessage());87 return new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_OTHER)88 .resolveDescription("KEY", keyName)89 .resolveDescription("REASON", e.getMessage());90 }91 }92 /**93 * Due to94 * https://discuss.appium.io/t/appium-ios-guide-hiding-the-keyboard-on-real-devices/8221,95 * IOS keyboard can be only hidden by taping on a keyboard key. As same as96 * the tutorial, the {@link Keys#RETURN} (so the {@link KeyCode#RETURN} in97 * Cerberus language) is used to hide keyboard.98 *99 * @param session100 * @return101 */102 @Override103 public MessageEvent hideKeyboard(Session session) {104 MessageEvent keyPressResult = keyPress(session, KeyCode.RETURN.name());105 return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT.equals(keyPressResult.getSource())106 ? MessageEventEnum.ACTION_SUCCESS_HIDEKEYBOARD107 : MessageEventEnum.ACTION_FAILED_HIDEKEYBOARD);108 }109 /**110 * The only valid IOS key codes to be able to be pressed111 * <p>112 * See https://github.com/appium/java-client/issues/402 for more information113 */114 private enum KeyCode {115 RETURN(Keys.RETURN.toString()),116 ENTER(Keys.ENTER.toString()),117 SEARCH(Keys.ENTER.toString()),118 BACKSPACE(Keys.BACK_SPACE.toString());119 private String code;120 KeyCode(String code) {121 this.code = code;122 }123 public String getCode() {124 return code;125 }126 }127 @Override128 public MessageEvent swipe(Session session, SwipeAction action) {129 try {130 Direction direction = this.getDirectionForSwipe(session, action);131 // Get the parametrized swipe duration132 Integer myduration = parameters.getParameterIntegerByKey(CERBERUS_APPIUM_SWIPE_DURATION_PARAMETER, "", DEFAULT_CERBERUS_APPIUM_SWIPE_DURATION);133 // Do the swipe thanks to the Appium driver134 TouchAction dragNDrop135 = new TouchAction(session.getAppiumDriver()).press(direction.getX1(), direction.getY1()).waitAction(Duration.ofMillis(myduration))136 .moveTo(direction.getX2(), direction.getY2()).release();137 dragNDrop.perform();138// JavascriptExecutor js = (JavascriptExecutor) session.getAppiumDriver();139// HashMap<String, Integer> swipeObject = new HashMap<String, Integer>();140// swipeObject.put("startX", direction.getX1());141// swipeObject.put("startY", direction.getY1());142// swipeObject.put("endX", direction.getX2());143// swipeObject.put("endY", direction.getY2());144// swipeObject.put("duration", myduration);145// js.executeScript("mobile: swipe", swipeObject);146 return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_SWIPE).resolveDescription("DIRECTION", action.getActionType().name());147 } catch (IllegalArgumentException e) {148 return new MessageEvent(MessageEventEnum.ACTION_FAILED_SWIPE)149 .resolveDescription("DIRECTION", action.getActionType().name())150 .resolveDescription("REASON", "Unknown direction");151 } catch (Exception e) {152 LOG.warn("Unable to swipe screen due to " + e.getMessage(), e);153 return new MessageEvent(MessageEventEnum.ACTION_FAILED_SWIPE)154 .resolveDescription("DIRECTION", action.getActionType().name())155 .resolveDescription("REASON", e.getMessage());156 }157 }158}...
swipe
Using AI Code Generation
1public void swipe(int startx, int starty, int endx, int endy, int duration) {2 try {3 TouchAction action = new TouchAction(this.getDriver());4 action.press(startx, starty).waitAction(Duration.ofMillis(duration)).moveTo(endx, endy).release().perform();5 } catch (Exception e) {6 LOG.error("Unable to swipe the screen", e);7 }8}9public void swipe(int startx, int starty, int endx, int endy, int duration) {10 try {11 TouchAction action = new TouchAction(this.getDriver());12 action.press(startx, starty).waitAction(Duration.ofMillis(duration)).moveTo(endx, endy).release().perform();13 } catch (Exception e) {14 LOG.error("Unable to swipe the screen", e);15 }16}17public void swipe(int startx, int starty, int endx, int endy, int duration) {18 try {19 TouchAction action = new TouchAction(this.getDriver());20 action.press(startx, starty).waitAction(Duration.ofMillis(duration)).moveTo(endx, endy).release().perform();21 } catch (Exception e) {22 LOG.error("Unable to swipe the screen", e);23 }24}25public void swipe(int startx, int starty, int endx, int endy, int duration) {26 try {27 TouchAction action = new TouchAction(this.getDriver());28 action.press(startx, starty).waitAction(Duration.ofMillis(duration)).moveTo(endx, endy).release().perform();29 } catch (Exception e) {30 LOG.error("Unable to swipe the screen", e);31 }32}
swipe
Using AI Code Generation
1import org.cerberus.crud.entity.TestCaseExecution;2import org.cerberus.crud.entity.TestCaseStepActionExecution;3import org.cerberus.crud.entity.TestCaseStepExecution;4import org.cerberus.crud.factory.IFactoryTestCaseStepActionExecution;5import org.cerberus.crud.factory.IFactoryTestCaseStepExecution;6import org.cerberus.crud.service.ITestCaseStepActionExecutionService;7import org.cerberus.crud.service.ITestCaseStepExecutionService;8import org.cerberus.engine.entity.MessageEvent;9import org.cerberus.engine.entity.MessageGeneral;10import org.cerberus.engine.execution.IRecorderService;11import org.cerberus.engine.execution.impl.RecorderService;12import org.cerberus.engine.execution.impl.SwipeService;13import org.cerberus.engine.groovy.impl.GroovyService;14import org.cerberus.engine.groovy.impl.IGroovyService;15import org.cerberus.engine.queuemanagement.IExecutionThreadPoolService;16import org.cerberus.engine.queuemanagement.impl.ExecutionThreadPoolService;17import org.cerberus.engine.threadpool.IExecutionThreadPool;18import org.cerberus.engine.threadpool.impl.ExecutionThreadPool;19import org.cerberus.enums.MessageEventEnum;20import org.cerberus.exception.CerberusEventException;21import org.cerberus.log.MyLogger;22import org.cerberus.service.appium.IAppiumService;23import org.cerberus.service.appium.impl.AppiumService;24import org.cerberus.service.appium.impl.IOSAppiumService;25import org.cerberus.util.answer.Answer;26import org.cerberus.util.answer.AnswerItem;27import org.cerberus.util.answer.AnswerUtil;28import org.cerberus.util.answer.Item;29import org.cerberus.util.json.JsonUtil;30import org.springframework.beans.factory.annotation.Autowired;31import org.springframework.stereotype.Service;32import java.util.ArrayList;33import java.util.Date;34import java.util.List;35import java.util.logging.Level;36import java.util.logging.Logger;
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!