Java 如何使用Appium在iOS中刷卡

Java 如何使用Appium在iOS中刷卡,java,ios,swift,selenium,appium,Java,Ios,Swift,Selenium,Appium,我正在尝试使用Appium和java在iOS中浏览模式视图 我尝试过两种方法,但都没有成功: JavascriptExecutor js2 = (JavascriptExecutor) driver; HashMap<String, String> scrollObject2 = new HashMap<String, String>(); scrollObject2.put("x", "200"); scrollObject2.put("y", "550");

我正在尝试使用Appium和java在iOS中浏览模式视图

我尝试过两种方法,但都没有成功:

JavascriptExecutor js2 = (JavascriptExecutor) driver;

 HashMap<String, String> scrollObject2 = new HashMap<String, String>();
 scrollObject2.put("x", "200");
 scrollObject2.put("y", "550");
 scrollObject2.put("direction", "down");
 js2.executeScript("mobile: swipe", scrollObject2);

 TouchAction action = new TouchAction(driver);
 action.press(PointOption.point(200, 550)).moveTo(PointOption.point(200, 700)).release().perform();
JavascriptExecutor js2=(JavascriptExecutor)驱动程序;
HashMap scrollObject2=新的HashMap();
2.将“x”、“200”放入;
2.将“y”和“550”放在一起;
滚动对象2.放置(“方向”、“向下”);
js2.executeScript(“移动:滑动”,scrollObject2);
TouchAction动作=新的TouchAction(驱动程序);
按(PointOption.point(200550)).moveTo(PointOption.point(200700)).release().perform();
我做错了什么?实现这一目标的另一个正确方法是什么


谢谢

您应该使用js脚本执行器来执行

不需要像您那样添加坐标,只需尝试以下操作:

HashMap<String, String> scrollObject = new HashMap<>();
JavascriptExecutor js = driver; 
scrollObject.put("direction", "down");
js.executeScript("mobile: scroll", scrollObject); //or "mobile: swipe"
HashMap scrollObject=newhashmap();
JavascriptExecutor js=驱动程序;
滚动对象。放置(“方向”,“向下”);
js.executeScript(“移动:滚动”,滚动对象)//或“手机:刷卡”
}

我使用selenium交互包使用JAVA和appium执行刷卡。尝试在WebDriverIo中为Appium版本-1.15.0及以上版本使用类似于上述代码的代码。您只需要根据要执行的滑动来传递输入参数

“long-timeInMillis”是刷卡的时间段

public static void fingerSwipe(int startX, int startY, int endX, int endY, long timeInMillis){
PointerInput touchAction = new PointerInput(PointerInput.Kind.TOUCH, "touchAction");
Interaction moveToStart = touchAction.createPointerMove(Duration.ZERO, PointerInput.Origin.viewport(), startX, startY);
Interaction pressDown = touchAction.createPointerDown(PointerInput.MouseButton.LEFT.asArg());
Interaction moveToEnd = touchAction.createPointerMove(Duration.ofMillis(timeInMillis), PointerInput.Origin.viewport(), endX, endY);
Interaction pressUp = touchAction.createPointerUp(PointerInput.MouseButton.LEFT.asArg());

Sequence swipe = new Sequence(touchAction, 0);
swipe.addAction(moveToStart);
swipe.addAction(pressDown);
swipe.addAction(moveToEnd);
swipe.addAction(pressUp);

driver.perform(Arrays.asList(swipe));