当前位置: 首页 > 知识库问答 >
问题:

如何使用Appium刷卡iOS

贺雅健
2023-03-14

我正在尝试使用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();

我做错了什么?是另一种正确的方法来实现这一点吗?

谢谢

共有2个答案

颛孙航
2023-03-14
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));

}

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

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

龚苏燕
2023-03-14

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

不需要像你一样添加坐标,只要尝试这样的东西:

HashMap<String, String> scrollObject = new HashMap<>();
JavascriptExecutor js = driver; 
scrollObject.put("direction", "down");
js.executeScript("mobile: scroll", scrollObject); //or "mobile: swipe"
 类似资料:
  • 我的测试包括一个元素列表。单击第一个以打开它,然后从右向左滑动以访问下一个并确保它们不同。 在Android上,它工作得很好,但出于某种原因,驱动程序在进入新页面后似乎没有刷新自己。 如果我试图访问一个文本我一直有元素从第一页即使我在第二或第三元素的列表 Appium iOS中是否有某种刷新页面? 这是我的代码: 寻找我的头衔 刷卡 然后重新制作“查找标题”功能,甚至我的ipad上的“难看的我”屏

  • 当我尝试在ios应用程序中执行刷卡操作时,它会显示此错误。 [org.openqa.selenium.未知命令,除滚动之外的所有移动命令都已删除。(警告:服务器没有提供任何stackTrack信息)。] 请给我答案。

  • 我需要滑动我的应用程序(从左到右和从右到左),无论我在appium中使用Java为Android本地应用程序自动化。 我尝试过这个链接,刷方法在android自动化测试中不起作用 但我不能,是否有其他链接请分享或任何人帮助我。

  • 我目前正在为Browserstack中的iOS应用程序使用Appium inspector。以前,我在搜索元素时可以很好地使用滑动功能,但在iOS上执行此操作时,它只是注册为单击。我需要知道为什么会发生这种情况,以及如何解决它。

  • 是否有一种方法可以在一次刷卡中实现一次只刷一张卡来解除颤振动作?

  • 我尝试过为android设备实现刷卡方法,但此方法在Appium 1.3.4版本中不起作用。 下面是我写的代码: 并调用同一类中所需位置的。 它会抛出如下错误消息: org.openqa.selenium.WebDriverException:尚未实现。请帮助我们:http://appium.io/get-involved.html (警告:服务器未提供任何stacktrace信息)命令持续时间或