Selenium webdriver iOS应用程序自动化过程中处理iOS应用程序中的日期选择器面临的问题

Selenium webdriver iOS应用程序自动化过程中处理iOS应用程序中的日期选择器面临的问题,selenium-webdriver,appium,appium-android,appium-ios,Selenium Webdriver,Appium,Appium Android,Appium Ios,在iOS应用程序的自动化过程中,在处理iOS应用程序中的日期选择器时面临问题。 日期选择器始终显示当前日期。所以,它每天都在变化 日期格式为MMM-DD,YYYY 由于它每天都在变化,因此很难通过滚动测量实现自动化 代码 List<WebElement> dateValue = driver.findElementsByClassName("XCUIElementTypePickerWheel"); for (int i = 0; i < dateValue.size();

在iOS应用程序的自动化过程中,在处理iOS应用程序中的日期选择器时面临问题。

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

    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);
    
    List dateValue=driver.findElementsByClassName(“xguielementtypepickerwheel”);
    对于(int i=0;i
    Appium提供了名为
    SelectPickerHeelValue
    mobile:
    方法,可用于使用向前和向后手势导航捡拾轮:

    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);
    
    HashMap params=newhashmap();
    参数put(“订单”、“下一步”);
    参数put(“偏移量”,0.15);
    参数put(“element”,((RemoteWebElement)pickerheelement.getId());
    executeScript(“mobile:selectpickerheelvalue”,params);
    

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

    Appium提供的
    mobile:
    名为
    selectpickerheelvalue
    的方法,该方法可用于使用向前和向后手势导航捡拾盘:

    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);
    
    HashMap params=newhashmap();
    参数put(“订单”、“下一步”);
    参数put(“偏移量”,0.15);
    参数put(“element”,((RemoteWebElement)pickerheelement.getId());
    executeScript(“mobile:selectpickerheelvalue”,params);
    
    这种方法在选择值时更加稳健。您可以查看完整的示例