Appium:无法在Android 7.0或更高版本的预填充文本框值中清除和发送密钥

时间:2018-01-25 18:02:37

标签: selenium-webdriver appium java-client

如何在appium中使用java清除预填充的文本框值?

我已尝试过互联网上所有可能的解决方案但不适用于我。

我使用了.clear().sendKey()这两种方法,它在Android 6.0及以下版本中运行良好。但它在Android 7.0或更高版本之后无效。

这是我的代码,

driver.findElement(By.id("com.example.appName:id/text_user_name")).clear(); 
driver.findElement(By.id("com.example.appName:id/text_user_name")).sendKeys("Automation");

我尝试使用以下配置自动化我的Android应用程序:

Appium-Desktop 1.7.2。

selenium-java 3.8.1

selenium-server 3.8.1

java-client 5.0.4

1 个答案:

答案 0 :(得分:0)

是的,我也在很少的场合试过这个,这不是最漂亮的代码,但是在紧要关头工作得很好:

element.sendKeys("") 

Actions navigator = new Actions(driver);
navigator.click(element)
    .sendKeys(Keys.END)
    .keyDown(Keys.SHIFT)
    .sendKeys(Keys.HOME)
    .keyUp(Keys.SHIFT)
    .sendKeys(Keys.BACK_SPACE)
    .perform();

{{1}}

其中一个就够了......