Appium - 如何清除密码字段?

时间:2015-09-22 13:45:11

标签: android passwords textfield appium clear

我遇到了以下问题:我无法通过AppiumDriver(AndroidDriver)清除密码字段。 ' clear()'命令不会清除该字段,然后新文本将设置在旧文本的前面。

奇怪也是简单文本字段(appium log)的明确行为:

  1. 清除文字不成功。试图通过选择全部来清除 并删除。
  2. 清除文字不成功。试图清除 发送删除密钥。
  3. 之后,文字真的被清除了。

    返回密码字段。问题可能是Appium无法在密码字段中看到任何字符串,然后表现为字段未填充?

    我在其他帖子中找到了一些解决方法来标记整个字段并发送删除命令,但AppiumDriver本身不支持命令sendKeyEvent()。所以这对我不起作用。

    使用:Appium 1.4.8,appium java-client 3.0.0

2 个答案:

答案 0 :(得分:0)

我也遇到了使用Android Emulator + Appium + python清除密码字段的问题。其他地方提到的变通方法需要长按或双击选择全部,但模拟器通过取消选择很高兴,即使我尝试在模拟器上手动执行此操作。

在Appium和模拟器都有一些可用的修复程序之前,我决定在我的测试中的每个tearDown()中采取这一激烈的行动:

self.driver.reset()

除其他外,它会清除密码字段;)如果您有desired_capabilities' noReset'设置,为此评论,咳咳,"解决方法。"

答案 1 :(得分:0)

下面的代码将清除在文本字段中输入的字符。

        IOSElement Phone = driver.findElement(By.name(CUSTOMER_PHONE_NUMBER));
        String text1 = Phone.getText();
        int maxChars1 = text1.length();
        for(int i =0;i < maxChars1;i++) {
        Phone.sendKeys(Keys.BACK_SPACE);
        }