0

如何在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-桌面 1.7.2。

硒-java 3.8.1

硒服务器 3.8.1

java客户端5.0.4

4

1 回答 1

0

是的,我也跑过几次,这不是最漂亮的代码,但在紧要关头工作得很好:

public void clearTxt(WebElement element) throws Exception{
      element.click();
      element.sendKeys(Keys.CONTROL + "A"); //select all
      element.sendKeys(Keys.DELETE);          
}

或者

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();

其中一个应该足够了......

于 2018-05-06T22:11:26.527 回答