【问题标题】:How to change date in datepicker using Appium如何使用 Appium 更改日期选择器中的日期
【发布时间】:2014-12-30 13:36:03
【问题描述】:

我正在尝试使用 appium 更改日期选择器元素中的日期。我无法使用 findElement(By.id("id"); 因为我在版本 4.2.2(API 17) 中运行,并且就我而言知道此版本不支持 By.id。使用 selendroid 我可以像这样更改日期:

driver.findElement(By.id("MONTH")).sendKeys("FEB");

在我的 appium 代码中,我尝试在默认日期之前访问它。例如,我试图像这样更改月份:

driver.findElement(By.name("Dec")).sendKeys("Jan");

似乎虽然找到名称 Dec 却无法发送密钥 Jan。

这是来自失败跟踪的错误:

org.openqa.selenium.NoSuchElementException:使用给定的搜索参数无法在页面上找到元素。 (警告:服务器未提供任何堆栈跟踪信息)

关于如何更改它的任何想法,以及通常是否可以在此 API 版本中以某种方式使用 findElement(By.id("id");? 谢谢!!

【问题讨论】:

    标签: java android datepicker appium


    【解决方案1】:

    我没有使用 By.name,而是使用 By.className 来更改月份日期和年份。这是我的代码:

    List<WebElement> date = driver.findElements(By.className("android.widget.NumberPicker"));
        date.get(0).sendKeys("Apr");
        date.get(1).sendKeys("17");
        date.get(2).sendKeys("1972"); 
    

    【讨论】:

    • 请注意,这仅适用于 API 级别 17。目前我正在尝试找到一种方法来测试它的 API 级别 19。之所以不同,是因为最新 android 版本的日期选择器是不同的,我们必须选择其他元素来发送月、日和年
    • 你找到如何在 API 级别 >= 19 上做到这一点了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    相关资源
    最近更新 更多