簡體   English   中英

如何使用 Appium 在 iOS 中滑動

[英]How to Swipe in iOS using Appium

我正在嘗試使用帶有 Java 的 Appium 在 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();

我做錯了什么? 是實現這一目標的另一種正確方法嗎?

謝謝!

您應該使用 js 腳本執行器來完成。

無需像您一樣添加坐標,只需嘗試以下操作:

HashMap<String, String> scrollObject = new HashMap<>();
JavascriptExecutor js = driver; 
scrollObject.put("direction", "down");
js.executeScript("mobile: scroll", scrollObject); //or "mobile: swipe"
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));

}

我使用 selenium 交互包來使用 JAVA 和 appium 執行滑動。 嘗試在 Appium 版本的 WebDriverIo 中使用類似於上面的代碼 - 1.15.0 及更高版本。 您只需要根據要執行的滑動來傳遞輸入參數。

'long timeInMillis' 是滑動的時間段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM