如何使用Appium为Android Numpad输入数值?

时间:2015-05-14 09:04:25

标签: java android testing automation appium

我尝试过使用:

  1. send_keys方法:
  2. driver.send_keys("12345678");

    这不会产生任何错误,但也不会输入任何文字。

    2.发送关键事件

    HashMap numKeyObject = new HashMap();
    numKeyObject.put("keycode", 145);
    numKeyObject.put("keycode", 146);
    numKeyObject.put("keycode", 147);
    numKeyObject.put("keycode", 148);
    numKeyObject.put("keycode", 149);
    numKeyObject.put("keycode", 150);
    ((JavascriptExecutor ) driver).executeScript("mobile: keyevent", numKeyObject);
    

    这给出了一个错误说'org.openqa.selenium.WebDriverException:尚未实现'

    我正在使用appium java client 2.2.0

3 个答案:

答案 0 :(得分:7)

以下是从android数字小键盘

获取数值的方法

1) driver.sendkeyEvent(int key);

密钥代码列表: a - z-> 29 - 54

“0” - “9” - > 7 - 16

BACK BUTTON - 4,MENU按钮 - 82

UP-19,DOWN-20,LEFT-21,RIGHT-22

SELECT(MIDDLE)BUTTON - 23

空间 - 62,SHIFT - 59,ENTER - 66,BACKSPACE - 67

您可以在此处获取密钥代码的说明: https://code.google.com/p/androhid/wiki/Keycodes

2)driver.findElementByID(“LocatorID”)。sendKeys(“123”);

请在评论中留下问题

答案 1 :(得分:1)

尝试这样做:

driver.findElementByID("locator").sendKeys("");

答案 2 :(得分:0)

The best and easier way is :

element.setValue("");

for eg:
@AndroidFindBy(id = "com.android.life.login:id/et_pin")
private MobileElement unlockPhone;
public void unlockPhone() {
    unlockPhone.setValue("1111");
    System.out.println("Lockscreen Unlocled");
}