Android 机器人安卓-在editTextField上测试输入

Android 机器人安卓-在editTextField上测试输入,android,junit,android-testing,robolectric,Android,Junit,Android Testing,Robolectric,大家好,我正在用android编写一个使用robolectric框架的单元测试,我正在尝试测试一个场景,在这个场景中,键盘上的键正在文本字段中输入,以测试数据的有效性 android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " 在editTextField的xml文件中定义 我尝试使用下面的代码,但它似乎没有向editTextField输入任何内容,即使它是我传递给edittext的有效分派键 editTextF

大家好,我正在用android编写一个使用robolectric框架的单元测试,我正在尝试测试一个场景,在这个场景中,键盘上的键正在文本字段中输入,以测试数据的有效性

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
在editTextField的xml文件中定义

我尝试使用下面的代码,但它似乎没有向editTextField输入任何内容,即使它是我传递给edittext的有效分派键

editTextFirst.setFocusable(true);
    editTextFirst.requestFocus();

    editTextFirst.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_A,0));
    editTextFirst.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_A,0));

    editTextFirst.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_B,0));
    editTextFirst.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_B,0));

    editTextFirst.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_C,0));
    editTextFirst.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_C,0));

    assertTrue(editTextFirst.length() == 3);
editText的大小现在应该是3并且包含ABC,但它不包含ABC?它是空的

就这样吧:

editTextFirst.setText("ABC"):