首页 > 解决方案 > 在 iOS 应用程序自动化时处理 iOS 应用程序中的日期选择器时面临的问题

问题描述

在此处输入图像描述 在 ios 应用程序自动化时处理 iOS 应用程序中的日期选择器时面临问题。

  1. 日期选择器始终显示当前日期。所以,它每天都在变化。
  2. 日期格式为MMM DD, YYYY
  3. 由于它每天都在变化,因此很难通过滚动测量实现自动化。

代码

List<WebElement> dateValue = driver.findElementsByClassName("XCUIElementTypePickerWheel");

for (int i = 0; i < dateValue.size(); i++) {
    System.out.println(dateValue.get(i).getText());
}

dateValue.get(0).sendKeys("23");
dateValue.get(0).sendKeys(Keys.TAB);

dateValue.get(1).sendKeys("December");
dateValue.get(1).sendKeys(Keys.TAB);

dateValue.get(2).sendKeys("2000");
dateValue.get(2).sendKeys(Keys.TAB);

标签: selenium-webdriverappiumappium-androidappium-ios

解决方案


Appium 提供了一个mobile:名为的方法selectPickerWheelValue,该方法可用于使用前后手势导航选择轮:

HashMap<String, Object> params = new HashMap<>();
params.put("order", "next");
params.put("offset", 0.15);
params.put("element", ((RemoteWebElement) pickerWheelElement).getId());
driver.executeScript("mobile: selectPickerWheelValue", params);

这种方法对于选择值更加稳健。您可以在此处查看完整示例


推荐阅读