用UiAutomator测试工具模拟输入操作的几种方式

1、调用UiObject的setText()的方法

new UiObject(new UiSelector().resourceId("com.example.testdemo:id/edit")).setText("abcde");

2、调用设备的按键点击方法

// 将光标置于输入框内
new UiObject(new UiSelector().resourceId("com.example.testdemo:id/edit")).setText("");
// 调用设备的按钮点击事件 
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_0);

3、从软件盘上输入一个字符串

public void inputStrintForKeycode(String input) throws UiObjectNotFoundException{
        Configurator conf=Configurator.getInstance();
        conf.setActionAcknowledgmentTimeout(60);
        for(int i=0;i=48&&c <=57){
                UiDevice.getInstance().pressKeyCode(c-41);
            }else if(c >=97&&c <=122){
                UiDevice.getInstance().pressKeyCode(c-68);
            }else if(c >=65&&c <=90){
                UiDevice.getInstance().pressKeyCode(59);
                sleep(20);
                UiDevice.getInstance().pressKeyCode(c-36);
            }else if(c ==32){
                UiDevice.getInstance().pressKeyCode(62);
            }else{}}
        //别忘记恢复默认延时,以免影响下面的脚本运行
        conf.setActionAcknowledgmentTimeout(3000);
    } 
  • 输入法的软键盘的每一个键都对应一个KeyCode,测试的时候有些需求是必须调用键盘上按钮的点击事件(像某些手机银行的软件输入密码的时候其实它是重新绘制了一个软键盘,这个时候它就设置了必须从这个软键盘上输入,屏蔽了edittext.setText()方法)

你可能感兴趣的:(用UiAutomator测试工具模拟输入操作的几种方式)