【问题标题】:How to set a date of an html5 datepicker using appium in android?如何在android中使用appium设置html5 datepicker的日期?
【发布时间】:2014-11-23 18:55:41
【问题描述】:

我正在尝试为具有 html5 日期输入类型的混合应用程序创建自动化测试。 我将 Appium 与机器人框架 (python) 结合使用,并尝试尽可能多地将 Appium 库用于机器人框架。

由于某种原因,我无法设置日期选择器的日期。我尝试了几种不同的方法:

  • 在日期选择器输入中使用输入文本(发送键)
  • 单击日期选择器打开弹出日期选择器 然后尝试使用不同的定位器设置各个字段,例如:

名称(一旦您将密钥发送到导致下一个 我试过了:

name=Sep

但是当我尝试输入 Jan 时,它会在输入 J 后停止。

Xpath(由于某种原因,这会返回所有应该只返回 1 个字段的字段) 我尝试了以下 xpath 定位器:

//android.widget.DatePicker//android.widget.LinearLayout[1]/android.widget.EditText
//android.widget.DatePicker//android.widget.ImageButton[@content-desc="Increase month"/../android.widget.EditText

这是日期选择器的结构

  Datepicker
      LinearLayout
        LinearLayout
          LinearLayout
            ImageButton {increase month}
            EditText:Sep
            ImageButton {decrease month}
          LinearLayout
            ImageButton {increase day}
            EditText:29
            ImageButton {decrease day}
          LinearLayout
            ImageButton {increase year}
            EditText:2014
            ImageButton {decrease year}

我想不出任何其他方法来设置日期选择器的日期。 有没有一种简单的方法可以为 html5 日期选择器设置日期?

【问题讨论】:

    标签: android python robotframework appium


    【解决方案1】:

    尝试像这样使用 xpath:

    //android.widget.DatePicker[@index='0']//android.widget.LinearLayout[@index='1']/android.widget.EditText[@text='example']
    

    如果您添加适当的索引或其他属性,它应该可以工作。

    【讨论】:

      【解决方案2】:

      我使用java,代码可能不同。

      我使用 javascript 进行输入,而不是“发送密钥”。在我的测试中工作。

      ((JavascriptExecutor)driver).executeScript("arguments[0].value=arguments[1]",
                                             driver.findElement(By.id("date")),
                                             Date);
      

      请记住,数据格式必须符合规则,否则它将无能为力。 要知道您的页面使用的格式很容易。只需手动选择一个日期并检查页面源中的值(注意页面上的数据格式可能不正确)。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-01
        • 1970-01-01
        • 2012-07-17
        • 2014-01-15
        • 1970-01-01
        • 2013-05-20
        相关资源
        最近更新 更多